Git Cheat Sheet

来源:互联网 发布:使命召唤4 mac 下载 编辑:程序博客网 时间:2024/05/29 15:29

  • create
  • local changes
  • commit history
  • branches tags
  • update publish
  • merge rebase
  • undo

根据https://www.git-tower.com/blog/git-cheat-sheet/内容整理。 记录备查

create

Clone an existing repository

$ git clone shh://user&domain.com/repo.git

Create a new local repository

$ git init

local changes

Changed fles in your working directory

$ git status

Changes to tracked fles

$ 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 fles

$ git commit -a

Commit previously staged changes

$ git commit

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 specifc fle

$ git log -p <file>

Who changed what and when in

$ 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 branc <new-branch>

Create a new tracking branch based on a remote branch

$ git checkout --track <remote/branchch>

Delete a local branch

$ git branch -d <branch>

Mark the current commit with a tag

$ git tag <tag-name>

update & publish

List all currently confgured 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 fecth <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 into your current HEAD

$ git merge <branch>

Rebase your current HEAD onto
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 confgured merge tool to solve conflicts

$ git mergetool

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

$ git add <resolved-files>$ git rm <resolved-files>

undo

Discard all local changes in your working
directory

$ git reset --hard HEAD

Discard local changes in a specifc fle

$ 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>