Skip to content

Latest commit

 

History

History
214 lines (172 loc) · 3.15 KB

cheatsheet.md

File metadata and controls

214 lines (172 loc) · 3.15 KB

Git Cheatsheet

Commonly used commands

Create

Clone an existing repository

git clone ssh://[email protected]/repo.git

Create a new local repository

git init

Local Changes

Changed files in your working directory

git status

Changes to tracked files

git diff

Add all current changes to the next commit

git add .

Add some changes in [file] to the next commit

git add -p [fle]

Commit all local changes in tracked files

git commit -m [message]

Commit all local changes in tracked files

git commit -a -m [message]

Change the last commit
Don‘t amend published commits!

git commit --amend

Commit history

Show all commits, starting with newest

git log

Show changes over time for a specific file

git log -p [file]

Who changed what and when in [file]

git blame [file]

Branches & tags

List all existing branches

git branch -av

Switch HEAD branch

git checkout [branch]

Create a new branch based on your current HEAD

git branch [new-branch]

Create a new tracking branch based on a remote branch

git checkout --track [remote/branch]

Delete a local branch

git branch -d [branch]

Mark the current commit with a tag git tag [tag-name]

Update & publish

List all currently configured remotes

git remote -v

Show information about a remote

git remote show [remote]

Add new remote repository, named [name]

git remote add [name] [url]

Download all changes from [remote], but don‘t integrate into HEAD

git fetch [remote]

Download changes and directly merge/integrate into HEAD

git pull [remote] [branch]

Publish local changes on a remote

git push [remote] [branch]

Delete a branch on the remote

git branch -dr [remote/branch]

Publish your tags

git push --tags

Merge & Rebase

Merge [branch] into your current HEAD

git merge [branch]

Rebase your current HEAD onto [branch] Don‘t rebase published commits!

git rebase [branch]

Abort a rebase

git rebase --abort

Continue a rebase after resolving conflicts

git rebase --continue

Use your configured merge tool to solve conflicts

git mergetool

Use your editor to manually solve conflicts and (after resolving) mark file as resolved

git add [resolved-fle]
git rm [resolved-fle]

Undo

Discard all local changes in your working directory

git reset --hard HEAD

Discard local changes in a specific file

git checkout HEAD [file]

Revert a commit (by producing a new commit with contrary changes)

git revert [commit]

Reset your HEAD pointer to a previous commit …and discard all changes since then

git reset --hard [commit]

…and preserve all changes as unstaged changes

git reset [commit]

…and preserve uncommitted local changes

git reset --keep [commit]

Based on a cheatsheet created by Tower