Git
Git is a powerful tool used by developers all around the world to control and manage changes to a project over time.
As a version control software, it keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members.
Version control also helps teams solve compatibility problems. Changes made in one part of the software can be incompatible with those made by another developer working at the same time and this problem should be discovered and solved in an orderly manner without blocking the work of the rest of the team.
Luckily, the possibility of tracking every individual change by each contributor discourages conflicting concurrent work and, if it happens to be the case, git also offers a great variety of commands to solve this issue in a ordered way to make sure no relevant work is lost.
Please read Chapter 1.1 through 1.4 of this link. Be sure to understand The Three States
section in Chapter 1.3.
Complete the tutorial
Here you got a interactive webpage that teaches you Git basic commands using visual tree representation: Learn Git Branching
You will see the page has two tabs: Main and Remote. Each tab also has sections and levels with problems to solve.
To continue, please complete the following levels:
-
Main tab
- Introduction Sequence
- Ramping Up
- Moving Work Around
- A Mixed Bag - levels 1 & 2
- Advanced Topics - only first level (Rebasing)
-
Remote tab
- Push & Pull -- Git Remotes!
- To Origin And Beyond -- Advanced Git Remotes! - levels 1, 2 & 4
Pay special attention to the rebase
command and everything that relates to it (specially the advanced topic, first level). We will use it on a daily basis.
After completing all the levels previously mentioned, we highly recommend you to read the following article about writing meaningful commit messages: How to Write Better Git Commit Messages