git

Git操作手札

Posted by Wei on September 1, 2016

Git is a version control system (VCS) that is used for software development and other version control tasks. [English Version]

Git 是什么?

请参考 Git 在维基百科上的定义。

Git 命令

创建与修改

复制一个已创建的仓库:

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

创建一个新的本地仓库:

$ git init

本地修改

显示路径下已修改的文件:

$ git status

显示与上次提交版本文件的不同:

$ git diff

把当前所有修改添加到下次提交中:

$ git add

把对某个文件的修改添加到下次提交中:

$ git add -p <file>

提交本地的所有修改:

$ git commit -a

提交之前已标记的变化:

$ git commit

附加消息提交:

$ git commit -m 'message here'

搜索

从当前目录的所有文件中查找 “Hello” 内容:

$ git grep "Hello"

历史记录

显示所有的提交记录:

$ git log

显示某个用户的所有提交记录:

$ git log --author="username"

显示某个文件的所有修改记录:

$ git log -p <file>

分支

列出所有的分支:

$ git branch

切换分支:

$ git checkout <branch>

创建并切换到新分支:

$ git checkout -b <branch>

基于当前分支创建新分支:

$ git branch <new-branch>

删除本地分支:

$ git branch -d <branch>

合并与重置

将分支合并到当前HEAD中:

$ git merge <branch>

使用配置好的merge tool 解决冲突:

$ git mergetool

撤销

放弃工作目录下的所有修改:

$ git reset --hard HEAD

放弃某个文件的所有本地修改:

$ git checkout HEAD <file>

重置一个提交

$ git revert <commit>

将HEAD重置到指定的版本,并抛弃该版本之后的所有修改:

$ git reset --hard <commit>

将HEAD重置到上一次提交的版本,并将之后的修改标记为未添加到缓存区的修改:

$ git reset <commit>

将HEAD重置到上一次提交的版本,并保留未提交的本地修改:

$ git reset --keep <commit>

参考

Git操作手册|命令速查表


本文完

如果你觉得本博客有用,你可以在知乎专栏找到我:戳这里