I created a GitHub repository for this project and uploaded all of its current files.
The project can be found here: https://github.com/haringma15/metroid-learning
In this blog, I will introduce the essentials of GitHub.
What is GitHub?
GitHub is an online platform that hosts code and offers utilities for collaboration and version control.
GitHub helps you (and others) working together on projects.
GitHub has its very own structure consisting of five essential elements:
- Repositories
- The central space that is used for storing the project.
- May contain folders and any kind of files.
- Should contain a license and readme.
- Can also be used to store ideas or resources for sharing.
- Branches
- Describes a version of the hosted project.
- By default, the main branch is called master branch.
- New Branches may be created for testing new features or for fixing bugs.
- New branches can be merged with the master branch.
- Commits
- Represents a change to the project.
- Always has a short description of the change.
- Pull Requests
- The heart of collaboration.
- Can be used to propose changes created on a new branch so that they can be applied to the master branch.
- Git
- The version control software GitHub is built on.
(cf. [https://www.w3schools.com])
Licensing
Choosing a license for a project is essential when working on a public repository. There are three popular choices for open source licenses:
- Community licenses
- Basic idea: just use the same license as a similar or depending project
- Typically used when contributing to another project.
- MIT License
- „Short and to the point“
- Lets everyone do almost anything with the project, including distributing own versions of it.
- Copyright and license notice must be provided.
- GNU GPLv3
- A stricter MIT license.
- When distributing a project, the source must be disclosed and changes must be stated.
- Copyright and license notice must be provided and the same license must be used.
(cf. [https://choosealicense.com])
For Metroid Learning, I chose the MIT License.
In its current state, the project misses some essential information – I will tend to that soon.
Sources
[https://www.w3schools.com]
What is GitHub: https://www.w3schools.com/whatis/whatis_github.asp (24.06.2019)
[https://choosealicense.com]
Choose an open source license: https://choosealicense.com/ (24.06.2019)