Cardinfolink 讯联数据

GIT CHEAT SHEET

2016-11-14
ChenFeng

presented by TOWER > Version control with Git - made easy

CREATE

  • Clone an existing repository
$ git clone ssh://user@domain.com/repo.git
  • Create a new local repository
$ git init

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>
  • Make the current commit with a tag
$ git tag <tag-name>

MERGE & REBASE

  • Merge into your current HEAD
$ git merge <branch>
  • Rebase yout current HEAD onto

    Dont`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 yout editor to manually solve conflicts and (after resolving) mark files as resolved
$ git add <resolved-file>
$ git rm <resolved-file>

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 to the next commit
$ git add -p <file>
  • Commit all local changes in tracked files
$ git commit -a
  • Commit previously staged changes
$ git commit
  • Change the last commit Don‘t amend published commits!
$ git commit --amend

UPDATE & PUBLISH

  • List all currently configured remotes
$ git remote -v
  • Show information about a remote
$ git remote show <remote>
  • Add new remote repository, named
$ git remote add <shortname> <url>
  • Download all changes from , 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

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>

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
$ git blame <file>

相关文章

分享

评论