Git Cheat Sheet

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

  • git init
    Initialize a empty Git repository

  • git clone <repo>
    Create a local copy of a remote repository

  • git status
    Check status of the files are stages, unstaged, and untracked.

  • git add [file-name.txt]
    Add a file to the staging area

  • git add -a
    Add all new and changed files to the staging area

  • git commit -m "[commit message]"
    Commit changes

  • git rm -r [file-name.txt]
    Remove a file (or folder)

Undoing Changes

  • git revert <commit>
    Create new commit that undoes all of the chanes made in , then apply it to the current branch.

  • git reset <file>
    Remove from the staging area, but leave the working directory unchanged.

  • git rm -r [file-name.txt]
    Remove a file (or folder)

Git Config

To set your global username/email configuration:

  • git config --global user.name "FIRST_NAME LAST_NAME"
    Set your username:

  • git config --global user.email "MY_NAME@example.com"
    Set your email address:

To set repository-specific username/email configuration:

  • git config user.name "FIRST_NAME LAST_NAME"
    Set your username:

  • git config user.email "MY_NAME@example.com"
    Set your email address:

Verify your configuration by displaying your configuration file: cat .git/config

Sharing & Updating Projects

  • git push origin [branch name]
    Push a branch to your remote repository

  • git push -u origin [branch name]
    Push changes to remote repository (and remember the branch)

  • git push
    Push changes to remote repository (remembered branch)

  • git push origin --delete [branch name]
    Delete a remote branch

  • git pull
    Update local repository to the newest commit

  • git pull origin [branch name]
    Pull changes from remote repository

  • git remote add origin ssh://git@github.com/[username]/[repository-name].git
    Add a remote repository

  • git remote set-url origin ssh://git@github.com/[username]/[repository-name].git
    Set a repository’s origin branch to SSH

Branching & Merging

  • git branch
    List branches (the asterisk denotes the current branch)

  • git branch -a
    List all branches (local and remote)

  • git branch [branch name]
    Create a new branch

  • git branch -d [branch name]
    Delete a branch

  • git push origin --delete [branch name]
    Delete a remote branch

  • git checkout -b [branch name]
    Create a new branch and switch to it

  • git checkout -b [branch name] origin/[branch name]
    Clone a remote branch and switch to it

  • git branch -m [old branch name] [new branch name]
    Rename a local branch

  • git checkout [branch name]
    Switch to a branch

  • git checkout -
    Switch to the branch last checked out

  • git checkout -- [file-name.txt]
    Discard changes to a file

  • git merge [branch name]
    Merge a branch into the active branch

  • git merge [source branch] [target branch]
    Merge a branch into a target branch

  • git stash
    Stash changes in a dirty working directory

  • git stash clear
    Remove all stashed entries

Inspection & Comparison

  • git log
    View changes

  • git log --summary
    View changes (detailed)

  • git log --oneline
    View changes (briefly)

  • git diff [source branch] [target branch]
    Preview changes before merging

 

References:

bino kochumol varghese profile pic

Written By

Bino Kochumol Varghese

A software engineer who is a voracious reader and an active blogger.