Git命令手册

Git is great!

新建

# 新建一个本地仓库
$ git init

# 从 GitHub 上克隆一个仓库到本地(可理解为下载)
$ git clone https://github.com/xxx/yyy.git

修改

# 显示工作目录下被修改的文件信息
$ git status

# 跟踪文件的变化(显示文件详细的修改信息)
$ git diff

# 比较两次提交的文件变化
$ git diff <commit_id_1> <commit_id_2>

# 添加当前所有的修改到下一次提交
$ git add -A
# 添加某个或部分修改到下一次提交
$ git add <change>

# 提交之前的修改并附加一条说明信息
$ git commit -m <message>

历史提交

# 显示所有的提交信息,从最新一次提交开始显示
$ git log

# 显示更详细的提交信息,包括每次提交的文件修改情况
$ git log --stat

# 指定提交信息的显示条数,从最新一次提交开始显示
$ git log -n <display_num>

分支和标签

# 显示存在的所有分支
$ git branch -av

# 切换分支
$ git checkout <branch>

# 在当前分支的基础上新建一条分支
$ git branch <new_branch>

# 删除一条分支
$ git branch -d <branch>

# 用一个标签标记当前提交(可用于定义版本:v1.0、v1.1)
$ git tag <tag_name>

更新和发布

# 显示当前所有配置的远程仓库
$ git remote -v

# 显示一个远程仓库的信息
$ git remote show <remote_name>

# 添加一个新的远程仓库,并起个名
$ git remote add <shortname> <url>

# 下载远程仓库所有的修改,且不和当前分支进行合并
$ git fetch <remote>

# 下载修改并和指定的分支进行合并
$ git pull <remote> <branch>

# 发布本地的修改到远程仓库
$ git push <remote> <branch>

# 本地新分支推送到远程
$ git push origin <branch>:<remote_branch>

# 删除远程分支
$ git push origin :<remote_branch>

# 发布你的“版本”(就是标签)
$ git push --tags

合体

# 合并 <branch> 到当前分支
$ git merge <branch>

# 使用配置合并工具解决冲突问题
$ git mergetool

反悔啦

# 查看所有的 HEAD ID
$ git reflog

# 撤消当前工作目录下所有的本地修改
$ git reset --hard <HEAD_ID>

# 撤消特定文件的本地修改
$ git checkout <HEAD_ID> <file>

# 恢复到指定提交点
$ git reset --hard <commit_id>

# 保留新的提交,回退到指定提交点
$ git checkout <commit_id>
$ git checkout -b <new_branch>

HELP 君

# git 基本命令的帮助信息
$ git

# 显示某条命令的帮助信息
$ git <command> -h

# 打开某条命令的详细帮助手册(网页)
$ git help <command>

未完待续……

手滑了就鼓励一下吧~