Git is one of the most popular version control systems out there. Below you’ll find the basic commands you need to get started with it.
Note: One important aspect to understand about Git is that it thinks about data as snapshots of files over time. Every commit will generate a new snapshot, that is independent of previous ones. This is very different from the approach used by most other version control systems, where data is thought as files and changes to those files over time.
1. Installing Git on Linux
sudo apt-get install git-all
2. Creating a Git Repository
There are two ways to create a new Git repository. You can either use an existing folder/project, or clone one from a remote server. If you are using an existing folder, go inside it and type
git init
If you want to clone a repository:
git clone https://github.com/project/
3. Getting information about the repository
git status
4. Tracking a file
If you create a new file, it won’t be tracked by Git immediately. You need to use the ‘add’ command to do so.
git add file.c
5. Staging files
Once you change files, Git will know. But that doesn’t mean it will automatically use those modified versions on the next commit. If you want to do so, you need to ‘stage’ the modified file. You do so using the same ‘add’ command.
git add file.c
6. Committing Changes
git commit
or if you want to add a message to the commit:
git commit -m "bug fix 1"
or if you want to include even files that weren’t staged with the ‘add’ command:
git commit -a
7. Removing files
git rm file.c
8. View changes over time
git log
9. Getting a remote project
git fetch [remote-project]
or if you want to get and merge:
git pull [remote-project]
10. Pushing your project to remove server
git push [remote-project] [branch]
usually this will look like
git push origin master
Because when you clone a project Git automatically calls the remote project ‘origin’.
Small Teams Working on the Same Git Project
– No one pushes to master.
– For every feature (or update on a feature), create new branch.
– Send pull request for reviewing (one of us is the reviewer).
– Merge pull request into master.