全新工具箱

创建命令

Git 命令说明
git clone <url>克隆远程仓库
git init初始化本地 git 仓库(即创建新的本地仓库)

本地更改

Git 命令说明
git status查看当前分支状态
git diff查看已跟踪文件的变更
git add <file>将指定的文件添加到暂存区
git add .将所有有变更的文件添加到暂存区
git commit -a提交所有本地修改
git commit -m "xxx"把已添加至暂存区的文件执行提交,并以 xxx 作为本次提交的描述
git commit --amend -m "xxx"修改上一次提交(请勿用该命令修改已发布的提交)
git commit -am "xxx"该命令是 git add .git commit -m "xxx" 的快捷方式
git stash暂存当前修改,将所有置为 HEAD 状态
git stash list查看所有暂存列表
git stash push把当前工作区的文件暂存到临时空间
git stash pop把文件从临时空间中恢复到当前工作区

提交历史

Git 命令说明
git log查看提交日志
git log -n显示 n 行日志,n 为整数
git log --stat查看本地提交日志
git show <commit>查看提交日志及相关变动文件
git show HEAD查看 HEAD 提交日志
git show HEAD^查看 HEAD 的上一个版本提交日志。另外,git show HEAD^^ 是查看上 2 个版本的提交日志;git show HEAD^5 是查看上 5 个版本的提交日志
git blame <file>对于指定文件,逐行显示提交的哈希ID、提交者、提交日期以及修改的内容
git whatchanged显示提交历史,以及每次提交变更的文件

分支和标签

Git 命令说明
git branch查看本地分支
git branch -r查看远程分支
git branch -a查看所有分支(本地和远程)
git branch --merged查看所有分支已合并到当前分支的分支
git branch --no-merged查看所有分支未合并到当前分支的分支
git branch -m <new-branch>把当前分支的名称改成 new-branch;如果 new-branch 已存在,将不会执行改名
git branch -M <new-branch>强制把当前分支的名称改成 new-branch(即使 new-branch 已存在)
git branch -m <old-branch> <new-branch>把分支 old-branch 的名称改成 new-branch,如果 new-branch 已存在,将不会执行改名
git branch -M <old-branch> <new-branch>强制把分支 old-branch 的名称改成 new-branch(即使 new-branch 已存在)
git checkout <branch-name>切换到 branch-name 分支
git branch <new-branch>新建分支(也可以用 git checkout -b <new-branch>
git branch --track <new> <remote>基于远程分支创建一个新分支,同 git checkout --track <remote/branch>
git branch -d <branch-name>删除本地分支
git tag列出所有本地标签
git tag <tag-name>基于最新的提交创建标签
git tag -d <tag-name>删除标签

删除命令

Git 命令说明
git rm <file>删除文件(将从磁盘中删除文件)
git rm -r <directory>递归删除指定目录下的文件
git rm --cached <file>停止跟踪文件,不会从磁盘中删除

合并和衍合

Git 命令说明
git merge <branch>合并指定分支到当前分支,保留两个
git rebase <branch>合并指定分支到当前分支,只保留一个
git rebase --abort终止 rebase 操作,即回到执行 rebase 之前的状态
git rebase --continue解决冲突后继续执行 rebase
git mergetool使用配置文件指定的 mergetool 解决冲突
git add <resolved-file>
git rm <resolved-file>
使用编辑器手动解决文件冲突,并在冲突解决后,把文件标记为 resolved

撤销命令

Git 命令说明
git reset --hard HEAD将当前版本重置为 HEAD(用于 merge 失败的时候)
git reset <commit>将当前版本重置为某一个提交状态,代码不变
git reset --hard <commit>强制将当前版本重置为某一个提交状态,并丢弃那个状态之后的所有修改(请谨慎使用该命令)
git reset --merge <commit>将当前版本重置为某一个提交状态,并保留版本库中不同的文件
git reset --keep <commit>将当前版本重置为某一个提交状态,并保留未提交的本地修改
git revert <commit>撤销提交
git restore <file>丢弃指定文件的修改信息,即恢复到文件修改前的状态
git checkout -- <file>git restore <file> 命令
git checkout HEAD <file>对于指定文件,丢弃该文件的本地修改信息
git clean清除工作目录中未跟踪的文件
git clean -n列出哪些文件将从工作目录中删除

配置命令

Git 命令说明
git config --list列出当前 Git 配置
git config --global user.name <name>把参数 name 设置为当前用户使用的提交者的姓名;如果未指定 name 参数,则显示当前用户使用的提交者姓名
git config --global user.email <email>把参数 email 设置为当前用户使用的提交者的邮箱;如果未指定 email 参数,则显示当前用户使用的提交者邮箱
git config --global alias.<alias> <command>为 Git 命令创建全局的别名。比如,执行 alias.glog log --graph --oneline --decorate 命令后,git glog 就相当于 git log --graph --oneline --decorate
git config --system core.editor <editor>对于本机的所有用户,设置命令使用的编辑器(比如 vim
git config --global --edit在编辑器中打开全局配置文件(用于手动修改)
git config --global color.ui auto使用不同的颜色渲染 Git 命令的输出结果

其他命令

Git 命令说明
git var -l列出 Git 环境变量
git help <command>显示指定命令的帮助(将呼出该命令的 man 文件)
工具推荐
← 回首页