feel free to star this
| Description | Command | 
|---|---|
| Configure the author name. | git config --global user.name "<username>" | 
| Configure the author email address. | git config --global user.email <email address> | 
| Description | Command | 
|---|---|
| Initialize a local Git repository | git init | 
| Create a local copy of a remote repository | git clone ssh://[email protected]/<username>/<repository-name>.git | 
| Description | Command | 
|---|---|
| Check status | git status | 
| Add a file to the staging area | git add <file-name.txt> | 
| Add all new and changed files to the staging area | git add -A or git add . | 
| Commit changes | git commit -m "<commit message>" | 
| Remove a file (or folder) | git rm -r <file-name.txt> | 
| Description | Command | 
|---|---|
| View changes | git log | 
| View changes (detailed) | git log --summary | 
| View changes in one line (briefly) | git log --oneline or git log --pretty=oneline orgit log --pretty=short | 
| Description | Command | 
|---|---|
| List of all commit with commit id and commit message) | git log --oneline | 
| Return to previous commit | git checkout<commit id> | 
| Revert commit (undo one particular commit) | git revert <commit id> | 
| Reset to previous commit (remove history of all commit after ) | git reset --hard <commit id> | 
| Stop a file being tracked | git rm --cached <file/folder> | 
| Restore a file to a previous commit | git checkout <file/to/restore> | 
| Description | Command | 
|---|---|
| List branches (the asterisk denotes the current branch) | git branch | 
| List all branches (local and remote) | git branch -a | 
| Create a new branch | git branch <branch name> | 
| Create a new branch and switch to it | git checkout -b <branch name> | 
| Clone a remote branch and switch to it | git checkout -b <branch name> origin/<branch name> | 
| Rename a local branch | git branch -m <old branch name> <new branch name> | 
| Switch to a branch | git checkout <branch name> | 
| Switch to the branch last checked out | git checkout - | 
| Discard changes to a file | git checkout -- <file-name.txt> | 
| Delete a branch | git branch -d <branch name> | 
| Delete a remote branch | git push origin --delete <branch name> | 
| Preview changes before merging | git diff <source branch>  <target branch> | 
| Merge a branch into the active branch | git merge <branch name> | 
| Merge a branch into a target branch | git merge <source branch> <target branch> | 
| Stash changes in a dirty working directory | git stash | 
| Remove all stashed entries | git stash clear | 
| Description | Command | 
|---|---|
| Push a branch to your remote repository | git push origin <branch name> | 
| Push changes to remote repository (and remember the branch) | git push -u origin <branch name> | 
| Push changes to remote repository (remembered branch) | git push | 
| Push changes to remote repository all branch | git push --all | 
| Push changes to remote repository (Force) | git push -f | 
| Delete a remote branch | git push origin --delete <branch name> | 
| Update local repository to the newest commit | git pull | 
| Pull changes from remote repository | git pull origin <branch name> | 
| Add a remote repository | git remote add origin ssh://[email protected]/<username>/<repository-name>.git | 
| Set a repository's origin branch to SSH | git remote set-url origin ssh://[email protected]/<username>/<repository-name>.git | 
nice for this thnig