Skip to content

Instantly share code, notes, and snippets.

@cander
Last active December 20, 2018 17:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cander/5dee1bc3ca3f797a3104 to your computer and use it in GitHub Desktop.
Save cander/5dee1bc3ca3f797a3104 to your computer and use it in GitHub Desktop.

Git Cheat Sheet

This isn't intended as an exhaustive reference for git. Rather, it's a collection of operations that I perform so rarely that I always have to look up how to do them.

Fetch Just One Remote Branch

(because I have a weak-ass Internet connection at home)

git fetch --no-tags <remote> <remote-branch-name>:<local-branch-name>

Abandon a Merge

git reset --hard HEAD

Be careful you didn't have any uncommitted changes changes before you started the merge.

git reset --merge Works on non-ancient versions (>1.6.1) of git.

Undo Last Commit

Undo a commit, leave the files in the commit staged, and don't monkey with other files in the working copy (e.g., not HARD reset)

git reset --soft HEAD~

Fetch a Specific Version of a File

git show REV:PATH/TO/FILE

Rebase Interactive to Edit, Squash or otherwise Abuse History

An example - Git Interactive Rebase, Squash, Amend and Other Ways of Rewriting History

Comparing Branches

Show me what's in master that isn't in production yet.

git log production..master

Show Differences for a File between Branches

Show me how this file differs between master and production.

git diff master production -- file

file can also be a directory. The -- is optional in some cases.

Disallow Pushes to a Remote

Make it double-extra impossible to push to the upstream repo

git remote set-url --push upstream no-push

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment