Git Cheatsheet


  • Initial configuration:
    1git config --global "$first_name $last_name"
    2git config --global ""


  • Initialize repository:
    1git init && git commit --allow-empty -m 'Initial commit'
  • Clone repository:
    1git clone "$url" ["$dir"]

Working tree and index (staging area)

  • :bar_chart: Show the working tree status:
    1git status
  • :heavy_plus_sign: Stage changes in a file to the index:
    1git add "$filename"
  • Show unstaged changes (diff between the working tree and the index):
    1git diff
  • Show staged changes in the index (diff between the index and the HEAD):
    1git diff --cached
  • :heavy_minus_sign: Unstage a file, keep changes in the working directory:
    1git reset "$filename"
  • Clear the index, update the working tree from the specified commit:
    1git reset --hard "$commit"


  • :scroll: List local branches:
    1git branch
  • List all branches (with remote ones):
    1git branch -av
  • :green_circle: Create a new branch from the current commit (HEAD):
    1git checkout -b "$branch"
    1git branch "$branch" && git switch "$branch"
    1git switch -c "$branch"
  • :arrow_right_hook: Switch to a branch (update working tree and index):
    1git checkout "$branch"
    1git switch "$branch"
  • Merge the specified branch into the current one:
    1git merge "$branch"
  • Apply commits of current branch ahead of the specified one:
    1git rebase "$branch"
  • Rename branch:
    1git branch -m "$new_branch"
  • :red_circle: Delete branch:
    1git branch -d "$branch"