git init <directory> |
在指定目录创建一个空的Git仓库。如果不带参数,则在当前目录初始化为Git仓库。 |
git clone <repo> |
克隆位于 <repo> 的仓库到本地机器。原始仓库可以位于本地文件系统或通过 HTTP 或 SSH 位于远程机器上。 |
git config --global user.name <name> |
定义用于当前仓库所有提交的作者名称。开发者通常使用 -global 标志为当前用户设置配置选项。 |
git add <directory> |
将 中的所有更改暂存到下一次提交中。将 <directory> 替换为 <file> 可以针对特定文件进行更改。 |
git commit -m <message> |
提交已暂存的快照,但不会启动文本编辑器,而是使用 <message> 作为提交消息。 |
git status |
显示暂存、未暂存和未跟踪的文件列表。 |
git log |
使用默认格式显示完整的提交历史记录。 |
git diff |
显示索引和工作目录之间未暂存的更改。 |
git revert <commit> |
创建一个新的提交,撤消在 <commit> 中进行的所有更改,然后将其应用于当前分支。 |
git reset <file> |
从暂存区中移除 <file> ,但不更改工作目录。这将取消暂存文件,而不会覆盖任何更改。 |
git clean -n |
显示将从工作目录中删除的文件列表。 |
git commit --amend |
用暂存的更改和上一次提交的更改组合替换最后一次提交。如果没有暂存任何内容,则可编辑最后一次提交的消息。 |
git rebase <base> |
将当前分支变基到 <base> 。<base> 可以是提交ID、分支名称、标签或相对于HEAD的引用。 |
git remote add <name> <url> |
创建到远程仓库的新连接。添加远程后,您可以在其他命令中使用 <name> 作为 <url> 的快捷方式。 |
git fetch <remote> <branch> |
从仓库中获取特定 <branch> 。省略 <branch> 以获取所有远程引用。 |
git pull <remote> |
获取指定远程仓库的当前分支的副本,并立即将其合并到本地副本。 |
git push <remote> <branch> |
将分支推送到 <remote> ,包括必要的提交和对象。如果远程仓库中不存在该分支,则创建命名分支。 |
git config --global user.name <name> |
定义当前用户的所有提交的作者名称。 |
git config --global user.email <email> |
定义当前用户的所有提交的作者电子邮件。 |
git config --global alias.<alias> <git command> |
为Git命令创建一个快捷方式。例如,alias.glog "log --graph --oneline" 将使 git glog 等同于 git log --graph --oneline 。 |
git config --system core.editor <editor> |
设置用于所有用户的机器上的命令使用的文本编辑器。<editor:arg> 应为启动所需编辑器的命令,例如 vi 。 |
git config --global --edit |
使用文本编辑器打开全局配置文件进行手动编辑。 |
git log -<limit> |
限制提交数量为 <limit> 。例如,”git log -5” 将限制为5个提交。 |
git log --oneline |
将每个提交压缩为一行显示。 |
git log -p |
显示每个提交的完整差异。 |
git log --stat |
显示每个提交的修改的文件以及添加或删除的相对行数。 |
git log --author=<pattern> |
搜索特定作者的提交。 |
git log --grep="<pattern>" |
显示提交消息匹配 <pattern> 的提交。 |
git log <since>..<until> |
显示在 <since> 和 <until> 之间发生的提交。参数可以是提交ID、分支名称、HEAD 或任何其他类型的修订引用。 |
git log -- <file> |
仅显示涉及指定文件的提交。 |
git log --graph --decorate |
在提交消息左侧绘制基于文本的提交图。使用 --decorate 添加显示提交的分支或标签的名称。 |
git diff HEAD |
显示工作目录与上一次提交之间的差异。 |
git diff --cached |
显示暂存更改与上一次提交之间的差异。 |
git reset |
将暂存区重置为最近的提交,但保持工作目录不变。 |
git reset --hard |
将暂存区和工作目录重置为最近的提交,并覆盖工作目录中的所有更改。 |
git reset <commit> |
将当前分支的提交点向后移动到 <commit> ,重置暂存区以匹配,但保持工作目录不变。 |
git reset --hard <commit> |
将当前分支的提交点向后移动到 <commit> ,重置暂存区和工作目录以匹配,并删除 <commit> 之后的所有提交。 |
git rebase <base> |
将当前分支交互式变基到 <base> 。启动编辑器以输入如何将每个提交转移到新的基准的命令。 |
git pull --rebase <remote> |
获取指定远程仓库的当前分支的副本,并将其变基到本地分支。使用 git rebase 而不是合并来整合分支。 |
git push <remote> --force |
强制执行 git push ,即使结果是非快进合并。不要使用 --force 标志,除非您确切知道自己在做什么。 |
git push <remote> --all |
将所有本地分支推送到指定的远程仓库。 |
git push <remote> --tags |
将所有本地标签推送到远程仓库。标签在推送分支或使用 --all 标志时不会自动推送。 |