Its hard to memorize all the important Git commands by heart, so I thought it’s better to keep a personal Git cheat sheet for myself. So I don’t want to Google it every time whenever I need to check some syntax. So here it is.
Git Basics
Initialize an empty Git repository
git init
Create a local copy of a remote repository
git clone <repo>
Check status of the files are stages, unstaged, and untracked.
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
Commit changes.
git commit -m "[commit message]"
Remove a file (or folder).
git rm -r [file-name.txt]
Undoing Changes
Create new commit that undoes all of the changes made in , then apply it to the current branch.
git revert <commit>
Remove from the staging area, but leave the working directory unchanged.
git reset <file>
Remove a file (or folder)
git rm -r [file-name.txt]
Git Config
To set your global username/email configuration:
Set your username:
git config --global user.name "FIRST_NAME LAST_NAME"
Set your email address:
git config --global user.email "MY_NAME@example.com"
To set repository-specific username/email configuration:
Set your username:
git config user.name "first_name last_name"
Set your email address:
git config user.email "my_name@example.com"
To view the repository-specific username/email configuration:
git config user.name
git config user.email
Verify your configuration by displaying your configuration file.
cat .git/config
Sharing & Updating Projects
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
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://git@github.com/[username]/[repository-name].git
View a remote repository
git remote get-url origin
Set a repository’s origin branch to SSH
git remote set-url origin ssh://git@github.com/[username]/[repository-name].git
Branching & Merging
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]
Delete a branch.
git branch -d [branch name]
Delete a remote branch.
git push origin --delete [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]
Merge a branch into the active branch.
git checkout [branchYouWantToReceiveBranch]
git merge [branchYouWantToMergeIntoBranch]
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
Inspection & Comparison
View changes.
git log
View changes (detailed).
git log --summary
View changes (briefly).
git log --oneline
Preview changes before merging.
git diff [source branch] [target branch]
References:
- How To Use Git: A Reference Guide, an article in Digital Ocean tutorials.
Use the share button below if you liked it.
It makes me smile, when I see it.