Throughout the semester we will be using a software called git, which is a version control system for software development. While its primary use is to organize the source code of a software project, which may be developed not only by a single programmer but a team (this does not apply for us), it will help us to distribute, collect and mark your homework.
While git itself is a more or less cryptic (at least for a beginner) command line tool, when used in conjunction with the web-service GitHub things become a bit more accessible.
The primary workflow is the following. In git files such as C++ source code are organized in respositories. Each repository is a collection of files. We will for example have one repository per homework or lab class. Each repository will contain at least one C++ file, but probably some other files as well. For example right now, you are reading the file README.md of the http://github.com/TP1-HHU/Homework0 repository. In the box above, you can see which other files belong to this repository.
Everytime you have to write a program, we will set up a repository on GitHub as part of the TP1-HHU account. When you start working on the problem, you will make a copy of our repository. This is called forking, i.e. you are creating a fork of our repository. Then you will modify the source code by modifying one of the existing files. After you are done, you need to tell us, that you are done and that we can have a look into your program. This is done by sending us a pull request.
In order to make a fork of our repository you will need a free GitHub account. They have also accounts which cost money, but we will not need the additional features coming along with payed accounts.
Now, finally, your first task:
- Create a free GitHub account for yourself and log in
- Fork this repository by pressing the fork button on the top right
- Edit the text file myname and just write your name into it. This can be done within the GitHub webpage, just click on the file in your repository, it will open an editor. With the help of these files we will create a table for ourselfs to associate GitHub nicknames to your real names. Yes, this means you can go wild with the choice of your nicknames 😎
- Send us a pull request