Git is the open source decentralized version control system. This cheat sheet provides quick access to commonly used Git command instructions.
INSTALL GIT
Git distributions for Linux and POSIX systems are available from the official Git SCM website : http://git-scm.com
INSTALL GitHub GIT
GitHub provides desktop clients that include a graphical interface for the most common manipulations and an automatically updating command line edition of Git for advanced scenarios.
- GitHub for Windows: https://windows.github.com
- GitHub for Mac: https://mac.github.com
TOOL SETUP
Configure user information for all local repositories
Define the name you want associated with all your commit operations
$ git config --global user.name "[name]"
Define the email you want associated with all your commit operations
$ git config --global user.email "[email]"
Enable colorization of command line output
$ git config --global color.ui auto
CREATE REPOSITORIES
Start a new repository or get one from an existing URL
Create a local repository from the specified name
$ git init [project-name]
Download a project and all its version history
$ git clone [url]
MAKING CHANGES
View changes and perform a commit operation
List all new files and modified files to commit
$ git status
Show file changes that are not yet indexed
$ git diff
Add a snapshot of a specific file, in preparation for version tracking
$ git add [fichier]
Add a snapshot of all the files, in preparation for version tracking
$ git add
Show file differences between the indexed version and the latest version
$ git diff --staged
Remove a specific file from the index, but keep its content
$ git reset [file]
Commit file snapshots permanently in version history
$ git commit -m "[message]"
BRANCHES
Manage branches
Get the list of all local branches in the current repository
$ git branch
Create a new branch
$ git branch [branch-name]
Switch to the specified branch and update the working directory
$ git checkout [branch-name]
Merge in the current branch the history of the specified branch
$ git merge [branch-name]
Delete a branch
$ git branch -d [branch–name]
SYNCHRONIZE CHANGES
Synchronize version history
Get all history from the named repository
$ git fetch [repository-name]
Get all history from the remote repository and incorporate changes in the local current repository
$ git pull
$ git push [branch-name]
pull a specified remote branch
Send all local branch commits to the remote repository (GitHub, Gitlab or other Git servers)
$ git push
$ git push [branch-name]
send a specified local branch
RESET COMMITTING
Correct errors and manage correction history
Undo all commits after a commit
, keeping changes locally
$ git reset [commit]
Delete all history and changes made after the specified commit
$ git reset --hard [commit]