Git实用命令速记

1、创建
克隆一个已存在的远程版本库到本地
$ git clone ssh://user@domain.com/repo.git

创建一个新的本地版本库

$ git init

 

2、本地修改
在工作区修改文件
$ git status

追踪修改的文件(对比工作区与版本库的区别)

$ git diff

添加所有当前修改到暂存区(下一次提交前)

$ git add

添加指定文件到暂存区(下一次提交前)

$ git add -p <file>

提交所有本地修改的文件

$ git commit -a

提交暂存区的文件

$ git commit

修改最后一次提交的信息(没有推送提交之前)

$ git commit --amend

 

3、提交历史
显示从开始到最近的所有提交日志
$ git log

显示指定文件的修改日志

$ git log -p <file>

显示指定文件谁在哪些时间做了哪些修改

$ git blame <file>

 

4、分支和标签
列出所有已存在的分支
$ git branch

切换分支并将当前版本指向该分支

$ git checkout <branch>

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

$ git branch <new-branch>

创建一个基于远程分支的新分支(与远程分支做关联)

$ git branch --track <new-branch> <remote-branch>

删除一个本地分支

$ git branch -d <branch>

给当前提交打上一个标签

$ git tag <tag-name>

 

5、更新和推送
列出所有当前已配置的远程版本库(-v为详细显示)
$ git remote -v

显示一个远程版本库的信息

$ git remote show <remote>

添加并命名一个新的远程版本库

$ git remote add <remote> <url>

从远程版本库中下载所有修改,但不整合进当前版本

$ git fetch <remote>

下载修改并直接合并或整合进当前版本

$ git pull <remote> <branch>

推送本地修改到一个远程版本库

$ git push <remote> <branch>

在远程版本库上删除一个分支

$ git push <remote> :<branch>

推送所有标签(到远程版本库)

$ git push --tags

 

6、合并&重新定义(版本库状态)
将分支合并进当前版本
$ git merge <branch>

重新定义当前版本在分支上的状态(没有推送提交之前)

$ git rebase <branch>

终止一个重新定义

$ git rebase --abort

在解决冲突后继续一个重新定义

$ git rebase --continue

使用配置合并工具保存冲突

$ git mergetool

手动编辑解决冲突并在解决冲突之后标记保存文件

$ git add <resolved-file>

删除标记保存的文件

$ git rm <resolved-file>

 

7、撤销
在工作目录中丢弃所有本地修改
$ git reset --hard HEAD

丢弃指定文件的本地修改

$ git checkout HEAD <file>

撤销一个提交(撤销会产生一个新的提交)

$ git revert <commit>

回退到一个之前的提交,并丢弃之后的所有修改

$ git reset --hard <commit>

回退到一个之前的提交,并撤销暂存区的修改(即重新放回工作区)
$ git reset <commit>

回退到一个之前的提交,并保留未提交的本地修改
$ git reset --keep <commit>

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐