Git

Git 常用命令

Git Cheat Sheet :)

Posted by 王灿辉 on 2020-09-08

创建

克隆一个已存在的仓库

1
$ git clone ssh://user@domain.com/repo.git

创建一个新的本地仓库

1
$ git init

本地变更

查看工作区中变更的文件

1
$ git status

查看对已追踪文件的变更

1
$ git diff

添加当前所有变更到下一次提交

1
$ git add .

添加文件中的变更到下一次提交

1
$ git add -p <file>

提交所有已追踪文件的本地变更

1
$ git commit -a

提交之前已暂存的变更

1
$ git commit

修正最后一次提交 注意:不要修改已发布的提交!!!

1
$ git  commit --amend

提交历史

显示所有提交,逆序

1
$ git log

显示特定文件的变更历史

1
$ git log -p <file>

显示何人何时修改了文件中的什么

1
$ git blame <file>

分支和标签

列出所有已存在的分支

1
$ git branch -av

切换 HEAD 分支

1
$ git checkout <branch>

基于当前的 HEAD 创建一个新的分支

1
$ git branch <new-branch>

基于一个远端的分支创建一个跟踪的分支

1
$ git branch --track <branch>

删除一个本地分支

1
$ git branch -d <branch>

更新和发布

列出所有当前配置的远端

1
$ git remote -v

显示关于一个远端的信息

1
$ git remote show <remote>

添加新的远端仓库,并起别名

1
$ git remote add <shortname> <url>

从远端拉取所有变更,但是不合并到 HEAD

1
$ git fetch <remote>

拉取变更,并直接合并到 HEAD

1
$ git pull <remote> <branch>

发布本地变更到一个远端

1
$ git push <remote> <branch>

删除一个远端分支

1
$ git branch -dr <remote>/<branch>

发布标签

1
$ git push --tags

合并和变基

合并 到你当前的 HEAD

1
$ git merge <branch>

分支对你当前的 HEAD 进行变基 *注意:不要对已经发布的提交进行变基!!!*

1
$ git rebase <branch>

终止本次变基

1
$ git rebase --abort

在解决完冲突之后继续本次变基

1
$ git rebase --continue

使用你自己配置的合并工具来解决冲突

1
$ git mergetool

使用你自己的编辑器手动解决冲突,并在解决完之后标记文件为 resolved

1
2
$ git add <resolved-file>
$ git rm <resolved-file>

撤消

丢弃所有工作区中的本地变更

1
$ git reset --hard HEAD

丢弃特定文件中的本地变更

1
$ git checkout HEAD <file>

回退一次提交(通过相反的变更产生一个新的提交)

1
$ git revert <commit>

重置 HEAD 指针到一个以前的提交 …并丢弃从那时起的全部变更

1
$ git reset --hard <commit>

…并把所有变更保留为未暂存的变更

1
$ git reset <commit>

…并把所有变更作为未提交的本地变更保留

1
$ git reset --keep <commit>


赞赏支持
微信赞赏
微信赞赏
支付宝
支付宝