文档由gemini cli生成与总结
See 'git help <command>' to read about a specific subcommand
Git 命令详解
以下是 git.md 文件中列出的 Git 命令及其详细说明。
Main Porcelain Commands (主要常用命令)
这些是日常 Git 工作流中最常用的命令。
-
git add-
用法:
git add <file>或git add . -
说明: 将文件内容添加到暂存区(index)。暂存区是 Git 准备提交的更改的区域。
-
使用场景: 在
git commit之前,将你想要提交的更改(新文件、修改过的文件)添加到暂存区。 -
注意事项:
-
git add .会将当前目录及其子目录下所有未暂存的更改(包括新文件和修改过的文件)添加到暂存区。 -
git add -u(或--update) 只会暂存已跟踪文件的修改和删除,不会暂存新文件。 -
git add -A(或--all) 会暂存所有更改,包括新文件、修改和删除。
-
-
-
git am-
用法:
git am <patch_file> -
说明: 应用来自邮箱(mailbox)的一系列补丁。通常用于接收通过邮件发送的补丁。
-
使用场景: 当你收到一个或多个
.patch文件,并且希望将这些补丁应用到你的仓库时。 -
注意事项: 补丁文件通常由
git format-patch命令生成。
-
-
git archive-
用法:
git archive --format=zip --output=archive.zip master -
说明: 从指定树(tree)创建一个文件归档。
-
使用场景: 创建一个不包含
.git目录的干净项目快照,例如发布版本或分享给不使用 Git 的人。 -
注意事项: 可以指定输出格式(如 zip, tar)和分支/标签。
-
-
git bisect-
用法:
git bisect start->git bisect bad->git bisect good <commit>-> ... ->git bisect reset -
说明: 使用二分查找来定位引入 bug 的提交。
-
使用场景: 当你发现一个 bug,但不知道是哪个提交引入的,可以使用此命令快速定位。
-
注意事项: 需要手动标记每个提交是“好”的(没有 bug)还是“坏”的(有 bug)。
-
-
git branch-
用法:
-
git branch: 列出所有分支。 -
git branch <new_branch_name>: 创建新分支。 -
git branch -d <branch_name>: 删除分支。
-
-
说明: 列出、创建或删除分支。
-
使用场景: 管理你的开发分支,例如创建新功能分支、修复 bug 分支等。
-
注意事项:
-
git branch -a可以查看所有本地和远程分支。 -
不能删除当前所在的分支。
-
-
-
git bundle-
用法:
git bundle create repo.bundle master -
说明: 通过归档移动对象和引用。
-
使用场景: 在没有网络连接的情况下,将一个 Git 仓库的全部或部分内容打包成一个文件,然后传输到另一个地方进行克隆或拉取。
-
注意事项: 接收方可以使用
git clone repo.bundle或git pull repo.bundle来使用这个 bundle 文件。
-
-
git checkout-
用法:
-
git checkout <branch_name>: 切换分支。 -
git checkout -b <new_branch_name>: 创建并切换到新分支。 -
git checkout <file_path>: 恢复工作区文件到最新提交状态(慎用,会丢失未提交的更改)。 -
git checkout <commit_hash> <file_path>: 恢复指定文件到指定提交的状态。
-
-
说明: 切换分支或恢复工作区文件。
-
使用场景: 在不同分支之间切换进行开发,或者撤销对文件的修改。
-
注意事项:
-
切换分支前,请确保工作区是干净的,或者将更改暂存/提交。
-
git checkout .会撤销工作区所有未暂存的更改。
-
-
-
git cherry-pick-
用法:
git cherry-pick <commit_hash> -
说明: 应用某些现有提交引入的更改。
-
使用场景: 将一个分支上的某个或某几个提交应用到另一个分支上,而不是合并整个分支。
-
注意事项: 会在当前分支上创建一个新的提交,其内容与被 cherry-pick 的提交相同,但哈希值不同。
-
-
git citool-
说明:
git-commit的图形化替代。 -
使用场景: 提供一个图形界面来帮助用户进行提交操作。
-
-
git clean-
用法:
git clean -n(预览) ->git clean -f(强制删除) -
说明: 从工作区中移除未跟踪的文件。
-
使用场景: 清理工作区,删除编译生成的文件、日志文件等未被 Git 跟踪的文件。
-
注意事项:
-
git clean -n是一个“试运行”命令,它会告诉你哪些文件会被删除,但不会实际删除。 -
git clean -f会强制删除未跟踪的文件。 -
git clean -df会删除未跟踪的文件和目录。
-
-
-
git clone-
用法:
git clone <repository_url> [directory_name] -
说明: 将一个仓库克隆到一个新目录。
-
使用场景: 从远程仓库获取一个项目的完整副本到本地。
-
注意事项: 默认会在当前目录下创建一个与仓库同名的目录。
-
-
git commit-
用法:
git commit -m "Your commit message"或git commit -
说明: 记录对仓库的更改。
-
使用场景: 将暂存区中的更改保存为历史记录中的一个新提交。
-
注意事项:
-
git commit -m用于直接在命令行中输入提交信息。 -
git commit会打开一个文本编辑器让你输入提交信息。 -
git commit -a -m "..."可以跳过git add步骤,直接提交已跟踪文件的修改。
-
-
-
git describe-
用法:
git describe --tags -
说明: 根据可用的引用(ref)给对象一个人类可读的名称。
-
使用场景: 生成一个简洁的、人类可读的提交名称,通常基于最近的标签和提交哈希。
-
注意事项: 常用在版本号的生成中。
-
-
git diff-
用法:
-
git diff: 显示工作区与暂存区之间的差异。 -
git diff --cached: 显示暂存区与最新提交之间的差异。 -
git diff HEAD: 显示工作区与最新提交之间的差异。 -
git diff <commit1> <commit2>: 比较两个提交之间的差异。
-
-
说明: 显示提交之间、提交与工作区之间等的更改。
-
使用场景: 查看代码修改,了解不同版本之间的变化。
-
注意事项: 这是一个非常强大的命令,有很多选项可以控制输出格式和比较范围。
-
-
git fetch-
用法:
git fetch origin -
说明: 从另一个仓库下载对象和引用。
-
使用场景: 从远程仓库获取最新的提交历史,但不会合并到当前分支。
-
注意事项:
git fetch只是下载,不会修改你的本地工作区或分支。
-
-
git format-patch-
用法:
git format-patch -1 HEAD -
说明: 准备补丁以供邮件提交。
-
使用场景: 将你的提交转换为
.patch文件,以便通过邮件发送给其他人进行审查或应用。 -
注意事项: 可以指定要生成补丁的提交范围。
-
-
git gc-
用法:
git gc -
说明: 清理不必要的文件并优化本地仓库。
-
使用场景: 定期运行以保持仓库的整洁和高效。
-
注意事项: 通常在后台自动运行,但也可以手动触发。
-
-
git gitk-
说明: Git 仓库浏览器。
-
使用场景: 提供一个图形界面来浏览 Git 提交历史和分支。
-
-
git grep-
用法:
git grep "pattern" -- "*.c" -
说明: 打印匹配模式的行。
-
使用场景: 在 Git 仓库中搜索文件内容,类似于
grep命令,但更专注于 Git 仓库。 -
注意事项: 可以搜索历史提交中的内容。
-
-
git gui-
说明: Git 的便携式图形界面。
-
使用场景: 提供一个图形界面来执行常见的 Git 操作。
-
-
git init-
用法:
git init -
说明: 创建一个空的 Git 仓库或重新初始化一个现有仓库。
-
使用场景: 在一个新项目或现有项目中开始使用 Git 进行版本控制。
-
注意事项: 会在当前目录创建一个
.git子目录。
-
-
git log-
用法:
git log -
说明: 显示提交日志。
-
使用场景: 查看项目的提交历史,包括提交作者、日期、提交信息等。
-
注意事项:
-
git log --oneline: 以简洁的一行显示提交。 -
git log --graph --decorate --all: 以图形化方式显示所有分支的提交历史。
-
-
-
git maintenance-
说明: 运行任务以优化 Git 仓库数据。
-
使用场景: 维护 Git 仓库的健康和性能。
-
-
git merge-
用法:
git merge <branch_name> -
说明: 将两个或多个开发历史合并在一起。
-
使用场景: 将一个分支的更改合并到当前分支。
-
注意事项: 可能会产生合并冲突,需要手动解决。
-
-
git mv-
用法:
git mv <old_path> <new_path> -
说明: 移动或重命名文件、目录或符号链接。
-
使用场景: 在 Git 仓库中移动或重命名文件,同时保留其历史记录。
-
注意事项: 相当于
mv命令加上git add和git rm。
-
-
git notes-
用法:
git notes add -m "Note for this commit" <commit_hash> -
说明: 添加或检查对象注释。
-
使用场景: 为提交、标签等 Git 对象添加额外的、不属于提交信息本身的注释。
-
注意事项: 注释不会修改提交的哈希值。
-
-
git pull-
用法:
git pull origin master -
说明: 从另一个仓库或本地分支获取并集成。
-
使用场景: 从远程仓库获取最新更改并合并到当前分支。
-
注意事项: 相当于
git fetch加上git merge。
-
-
git push-
用法:
git push origin master -
说明: 更新远程引用以及相关对象。
-
使用场景: 将本地提交推送到远程仓库。
-
注意事项: 确保你有权限推送到远程仓库。
-
-
git range-diff-
用法:
git range-diff <commit_range1> <commit_range2> -
说明: 比较两个提交范围(例如,一个分支的两个版本)。
-
使用场景: 比较两个不同分支或同一分支不同时间段的提交集合之间的差异。
-
-
git rebase-
用法:
git rebase master -
说明: 将提交重新应用到另一个基础提示上。
-
使用场景: 整理提交历史,使提交历史更线性、更清晰。
-
注意事项:
-
rebase会改写提交历史,慎用在已共享的公共分支上。 -
git rebase -i(交互式 rebase) 可以更精细地控制提交。
-
-
-
git reset-
用法:
-
git reset --soft HEAD~1: 撤销上一次提交,但保留更改在暂存区。 -
git reset --mixed HEAD~1: 撤销上一次提交,并取消暂存更改(默认)。 -
git reset --hard HEAD~1: 撤销上一次提交,并丢弃所有更改(慎用,会丢失数据)。
-
-
说明: 将当前 HEAD 重置到指定状态。
-
使用场景: 撤销提交、取消暂存、丢弃工作区更改。
-
注意事项:
--hard选项会永久丢失数据,请谨慎使用。
-
-
git restore-
用法:
-
git restore <file_path>: 恢复工作区文件到最新提交状态。 -
git restore --staged <file_path>: 取消暂存文件。
-
-
说明: 恢复工作区文件。
-
使用场景: 撤销对文件的修改,或者将文件从暂存区移回工作区。
-
注意事项: 这是
git checkout命令在恢复文件方面的更安全、更明确的替代。
-
-
git revert-
用法:
git revert <commit_hash> -
说明: 撤销某些现有提交。
-
使用场景: 创建一个新的提交来撤销指定提交的更改,而不是删除历史记录。
-
注意事项: 不会改写历史,适用于已共享的公共分支。
-
-
git rm-
用法:
git rm <file_path> -
说明: 从工作区和暂存区中移除文件。
-
使用场景: 删除 Git 跟踪的文件。
-
注意事项: 相当于
rm命令加上git add。
-
-
git scalar-
说明: 用于管理大型 Git 仓库的工具。
-
使用场景: 优化大型仓库的性能。
-
-
git shortlog-
用法:
git shortlog -
说明: 总结
git log输出。 -
使用场景: 快速查看每个作者的提交数量和提交信息摘要。
-
-
git show-
用法:
git show <commit_hash> -
说明: 显示各种类型的对象。
-
使用场景: 查看提交的详细信息,包括更改内容。
-
-
git sparse-checkout-
说明: 将工作区减少到跟踪文件的一个子集。
-
使用场景: 在大型仓库中,只克隆或检出部分目录,以节省磁盘空间和提高性能。
-
-
git stash-
用法:
-
git stash save "message": 暂存当前工作区和暂存区的更改。 -
git stash list: 列出所有暂存。 -
git stash pop: 应用最近的暂存并删除它。 -
git stash apply: 应用最近的暂存但不删除它。 -
git stash drop: 删除最近的暂存。
-
-
说明: 暂存脏工作目录中的更改。
-
使用场景: 当你正在进行一些工作,但需要切换到另一个分支处理紧急任务时,可以将当前更改暂存起来,稍后再恢复。
-
注意事项: 暂存的更改不会被提交。
-
-
git status-
用法:
git status -
说明: 显示工作区状态。
-
使用场景: 查看当前工作区有哪些文件被修改、哪些文件已暂存、哪些文件未被跟踪等。
-
注意事项: 这是一个非常常用的命令,用于了解当前仓库的状态。
-
-
git submodule-
用法:
git submodule add <repository_url> <path> -
说明: 初始化、更新或检查子模块。
-
使用场景: 将一个 Git 仓库作为另一个 Git 仓库的子目录。
-
注意事项: 子模块有自己的独立历史记录。
-
-
git switch-
用法:
git switch <branch_name> -
说明: 切换分支。
-
使用场景: 切换到不同的分支进行开发。
-
注意事项: 这是
git checkout命令在切换分支方面的更安全、更明确的替代。
-
-
git tag-
用法:
-
git tag <tag_name>: 创建轻量标签。 -
git tag -a <tag_name> -m "message": 创建附注标签。 -
git tag: 列出所有标签。
-
-
说明: 创建、列出、删除或验证 GPG 签名的标签对象。
-
使用场景: 标记重要的版本发布点。
-
注意事项: 附注标签包含更多信息,并且可以被 GPG 签名。
-
-
git worktree-
用法:
git worktree add ../new_worktree master -
说明: 管理多个工作树。
-
使用场景: 在同一个仓库中同时处理多个分支,而无需频繁切换分支。
-
Ancillary Commands / Manipulators (辅助命令 / 操作器)
这些命令用于操作 Git 仓库的内部结构或执行更高级的任务。
-
git config-
用法:
git config --global user.name "Your Name" -
说明: 获取和设置仓库或全局选项。
-
使用场景: 配置 Git 的各种设置,例如用户名、邮箱、默认编辑器等。
-
注意事项:
-
--global: 配置全局设置。 -
--local: 配置当前仓库设置(默认)。 -
--system: 配置系统级设置。
-
-
-
git fast-export-
说明: Git 数据导出器。
-
使用场景: 将 Git 仓库的历史记录导出为一种可被其他版本控制系统导入的格式。
-
-
git fast-import-
说明: 快速 Git 数据导入器的后端。
-
使用场景: 将其他版本控制系统的数据快速导入到 Git 仓库中。
-
-
git filter-branch-
用法:
git filter-branch --tree-filter 'rm -rf some_dir' -
说明: 重写分支。
-
使用场景: 修改 Git 历史记录,例如删除大文件、修改作者信息等。
-
注意事项: 会改写历史,慎用在已共享的公共分支上。
-
-
git mergetool-
用法:
git mergetool -
说明: 运行合并冲突解决工具来解决合并冲突。
-
使用场景: 当
git merge遇到冲突时,可以使用此命令启动外部合并工具来帮助解决冲突。
-
-
git pack-refs-
说明: 打包头和标签以实现高效的仓库访问。
-
使用场景: 优化 Git 仓库的存储和访问性能。
-
-
git prune-
说明: 从对象数据库中修剪所有不可达对象。
-
使用场景: 清理 Git 仓库中不再被引用的对象,释放磁盘空间。
-
-
git reflog-
用法:
git reflog -
说明: 管理引用日志信息。
-
使用场景: 查看 Git 仓库中所有操作的记录,包括分支切换、提交、重置等,可以用于恢复误操作。
-
-
git remote-
用法:
-
git remote -v: 列出所有远程仓库。 -
git remote add origin <url>: 添加远程仓库。 -
git remote rm origin: 移除远程仓库。
-
-
说明: 管理跟踪的仓库集合。
-
使用场景: 管理与远程仓库的连接。
-
-
git repack-
说明: 打包仓库中未打包的对象。
-
使用场景: 优化 Git 仓库的存储。
-
-
git replace-
说明: 创建、列出、删除替换对象的引用。
-
使用场景: 替换 Git 历史中的某个对象,而无需改写整个历史。
-
Ancillary Commands / Interrogators (辅助命令 / 查询器)
这些命令用于查询 Git 仓库的信息。
-
git annotate-
说明: 用提交信息注释文件行。
-
使用场景: 查看文件中每一行代码是由哪个提交引入的。
-
-
git blame-
用法:
git blame <file_path> -
说明: 显示文件的每一行是由哪个修订版本和作者最后修改的。
-
使用场景: 追溯代码的来源和修改历史。
-
-
git bugreport-
说明: 收集信息以供用户提交 bug 报告。
-
使用场景: 帮助用户收集 Git 相关信息,以便提交 bug 报告。
-
-
git count-objects-
说明: 计算未打包对象的数量及其磁盘消耗。
-
使用场景: 了解 Git 仓库的存储情况。
-
-
git diagnose-
说明: 生成诊断信息的 zip 归档。
-
使用场景: 收集 Git 仓库的诊断信息,用于故障排除。
-
-
git difftool-
用法:
git difftool -
说明: 使用通用 diff 工具显示更改。
-
使用场景: 启动外部 diff 工具来比较文件差异。
-
-
git fsck-
说明: 验证数据库中对象的连接性和有效性。
-
使用场景: 检查 Git 仓库的完整性。
-
-
git gitweb-
说明: Git web 界面(Git 仓库的 web 前端)。
-
使用场景: 在 web 浏览器中浏览 Git 仓库。
-
-
git help-
用法:
git help <command> -
说明: 显示 Git 的帮助信息。
-
使用场景: 获取 Git 命令的详细用法和说明。
-
-
git instaweb-
说明: 立即在 gitweb 中浏览你的工作仓库。
-
使用场景: 快速启动一个临时的 gitweb 实例来浏览本地仓库。
-
-
git merge-tree-
说明: 执行合并而不触及索引或工作树。
-
使用场景: 在不实际修改文件的情况下,模拟合并操作。
-
-
git rerere-
说明: 重用已记录的冲突合并解决方案。
-
使用场景: 当你多次遇到相同的合并冲突时,Git 可以记住你之前的解决方案并自动应用。
-
-
git show-branch-
说明: 显示分支及其提交。
-
使用场景: 查看分支之间的关系和共同祖先。
-
-
git verify-commit-
说明: 检查提交的 GPG 签名。
-
使用场景: 验证提交的真实性和完整性。
-
-
git verify-tag-
说明: 检查标签的 GPG 签名。
-
使用场景: 验证标签的真实性和完整性。
-
-
git version-
用法:
git version -
说明: 显示 Git 的版本信息。
-
使用场景: 查看当前安装的 Git 版本。
-
-
git whatchanged-
说明: 显示日志,其中包含每个提交引入的差异。
-
使用场景: 查看提交历史以及每个提交所做的具体更改。
-
Interacting with Others (与其他系统交互)
这些命令用于与外部版本控制系统或通信协议进行交互。
-
git archimport-
说明: 将 GNU Arch 仓库导入到 Git。
-
使用场景: 从 GNU Arch 迁移项目到 Git。
-
-
git cvsexportcommit-
说明: 将单个提交导出到 CVS 检出。
-
使用场景: 将 Git 提交导出到 CVS。
-
-
git cvsimport-
说明: 从另一个 SCM(人们讨厌的)中挽救你的数据。
-
使用场景: 从 CVS 导入项目到 Git。
-
-
git cvsserver-
说明: Git 的 CVS 服务器模拟器。
-
使用场景: 允许 CVS 客户端与 Git 仓库进行交互。
-
-
git imap-send-
说明: 将一系列补丁从标准输入发送到 IMAP 文件夹。
-
使用场景: 通过 IMAP 邮件发送补丁。
-
-
git p4-
说明: 与 Perforce 仓库进行导入和提交的双向操作。
-
使用场景: 与 Perforce 进行集成。
-
-
git quiltimport-
说明: 将 quilt 补丁集应用到当前分支。
-
使用场景: 应用 quilt 格式的补丁。
-
-
git request-pull-
说明: 生成待处理更改的摘要。
-
使用场景: 生成一个请求拉取(pull request)的摘要,以便其他人可以查看你的更改。
-
-
git send-email-
说明: 将一系列补丁作为电子邮件发送。
-
使用场景: 通过电子邮件发送补丁。
-
-
git svn-
说明: Subversion 仓库和 Git 之间的双向操作。
-
使用场景: 与 Subversion 进行集成,允许在 Git 和 Subversion 之间进行操作。
-
Low-level Commands / Manipulators (底层命令 / 操作器)
这些命令直接操作 Git 的底层对象模型。
-
git apply-
说明: 将补丁应用到文件和/或索引。
-
使用场景: 应用
.patch文件。
-
-
git checkout-index-
说明: 将文件从索引复制到工作树。
-
使用场景: 从暂存区恢复文件到工作区。
-
-
git commit-graph-
说明: 写入和验证 Git 提交图文件。
-
使用场景: 优化 Git 仓库的性能。
-
-
git commit-tree-
说明: 创建一个新的提交对象。
-
使用场景: 手动创建提交对象,通常用于脚本或高级操作。
-
-
git hash-object-
说明: 计算对象 ID 并可选地从文件创建 blob。
-
使用场景: 计算文件的 Git 对象哈希值。
-
-
git index-pack-
说明: 为现有打包归档构建打包索引文件。
-
使用场景: 创建或更新 Git 打包文件的索引。
-
-
git merge-file-
说明: 运行三向文件合并。
-
使用场景: 手动执行三向合并。
-
-
git merge-index-
说明: 为需要合并的文件运行合并。
-
使用场景: 处理需要合并的文件。
-
-
git mktag-
说明: 创建带有额外验证的标签对象。
-
使用场景: 创建 Git 标签对象。
-
-
git mktree-
说明: 从
ls-tree格式的文本构建树对象。 -
使用场景: 手动创建 Git 树对象。
-
-
git multi-pack-index-
说明: 写入和验证多打包索引。
-
使用场景: 优化 Git 仓库的存储。
-
-
git pack-objects-
说明: 创建对象的打包归档。
-
使用场景: 将 Git 对象打包成一个文件。
-
-
git prune-packed-
说明: 移除已在打包文件中的额外对象。
-
使用场景: 清理 Git 仓库中冗余的对象。
-
-
git read-tree-
说明: 将树信息读入索引。
-
使用场景: 将一个树对象的内容加载到暂存区。
-
-
git symbolic-ref-
说明: 读取、修改和删除符号引用。
-
使用场景: 管理 Git 的符号引用,例如 HEAD。
-
-
git unpack-objects-
说明: 从打包归档中解包对象。
-
使用场景: 从打包文件中提取 Git 对象。
-
-
git update-index-
说明: 将工作区中的文件内容注册到索引。
-
使用场景: 手动更新暂存区。
-
-
git update-ref-
说明: 安全地更新引用中存储的对象名称。
-
使用场景: 更新 Git 引用。
-
-
git write-tree-
说明: 从当前索引创建树对象。
-
使用场景: 从暂存区创建一个树对象。
-
Low-level Commands / Interrogators (底层命令 / 查询器)
这些命令用于查询 Git 的底层对象模型。
-
git cat-file-
用法:
git cat-file -p <object_hash> -
说明: 为仓库对象提供内容或类型和大小信息。
-
使用场景: 查看 Git 对象的原始内容。
-
-
git cherry-
说明: 查找尚未应用到上游的提交。
-
使用场景: 查找哪些提交还没有被合并到上游分支。
-
-
git diff-files-
说明: 比较工作区和索引中的文件。
-
使用场景: 查看工作区和暂存区之间的差异。
-
-
git diff-index-
说明: 比较树与工作区或索引。
-
使用场景: 比较一个树对象与工作区或暂存区之间的差异。
-
-
git diff-tree-
说明: 比较通过两个树对象找到的 blob 的内容和模式。
-
使用场景: 比较两个树对象之间的差异。
-
-
git for-each-ref-
说明: 输出每个引用的信息。
-
使用场景: 遍历 Git 仓库中的所有引用(分支、标签等)。
-
-
git for-each-repo-
说明: 在仓库列表中运行 Git 命令。
-
使用场景: 对多个 Git 仓库执行相同的操作。
-
-
git get-tar-commit-id-
说明: 从使用
git-archive创建的归档中提取提交 ID。 -
使用场景: 从
git archive生成的归档文件中获取提交 ID。
-
-
git ls-files-
说明: 显示索引和工作区中文件的信息。
-
使用场景: 列出 Git 跟踪的文件。
-
-
git ls-remote-
说明: 列出远程仓库中的引用。
-
使用场景: 查看远程仓库的分支和标签。
-
-
git ls-tree-
说明: 列出树对象的内容。
-
使用场景: 查看 Git 树对象的内容。
-
-
git merge-base-
说明: 尽可能找到合并的最佳共同祖先。
-
使用场景: 查找两个分支的共同祖先。
-
-
git name-rev-
说明: 为给定修订版本查找符号名称。
-
使用场景: 将提交哈希转换为人类可读的名称。
-
-
git pack-redundant-
说明: 查找冗余的打包文件。
-
使用场景: 识别并清理冗余的 Git 打包文件。
-
-
git rev-list-
说明: 以反向时间顺序列出提交对象。
-
使用场景: 列出提交历史。
-
-
git rev-parse-
说明: 挑选和处理参数。
-
使用场景: 将各种 Git 引用转换为 SHA-1 哈希值。
-
-
git show-index-
说明: 显示打包归档索引。
-
使用场景: 查看 Git 打包文件的索引信息。
-
-
git show-ref-
说明: 列出本地仓库中的引用。
-
使用场景: 查看本地仓库的分支和标签。
-
-
git unpack-file-
说明: 创建一个包含 blob 内容的临时文件。
-
使用场景: 将 Git blob 对象的内容写入临时文件。
-
-
git var-
说明: 显示 Git 逻辑变量。
-
使用场景: 查看 Git 的内部变量。
-
-
git verify-pack-
说明: 验证打包的 Git 归档文件。
-
使用场景: 检查 Git 打包文件的完整性。
-
Low-level Commands / Syncing Repositories (底层命令 / 同步仓库)
这些命令用于在 Git 仓库之间同步数据。
-
git daemon-
说明: Git 仓库的简单服务器。
-
使用场景: 启动一个简单的 Git 服务器,用于共享仓库。
-
-
git fetch-pack-
说明: 从另一个仓库接收缺失的对象。
-
使用场景: 从远程仓库获取缺失的 Git 对象。
-
-
git http-backend-
说明: 通过 HTTP 实现 Git 的服务器端。
-
使用场景: 通过 HTTP 协议提供 Git 服务。
-
-
git send-pack-
说明: 通过 Git 协议将对象推送到另一个仓库。
-
使用场景: 通过 Git 协议将本地对象推送到远程仓库。
-
-
git update-server-info-
说明: 更新辅助信息文件以帮助“哑”服务器。
-
使用场景: 为不支持智能协议的 Git 服务器更新信息。
-
Low-level Commands / Internal Helpers (底层命令 / 内部辅助)
这些命令是 Git 内部使用的辅助工具。
-
git check-attr-
说明: 显示 gitattributes 信息。
-
使用场景: 检查
.gitattributes文件的配置。
-
-
git check-ignore-
说明: 调试 gitignore / exclude 文件。
-
使用场景: 检查文件是否被
.gitignore或.git/info/exclude忽略。
-
-
git check-mailmap-
说明: 显示联系人的规范名称和电子邮件地址。
-
使用场景: 检查
.mailmap文件的配置。
-
-
git check-ref-format-
说明: 确保引用名称格式正确。
-
使用场景: 验证 Git 引用名称的格式。
-
-
git column-
说明: 以列显示数据。
-
使用场景: 格式化输出。
-
-
git credential-
说明: 检索和存储用户凭据。
-
使用场景: 管理 Git 的凭据。
-
-
git credential-cache-
说明: 帮助程序,用于在内存中临时存储密码。
-
使用场景: 缓存 Git 凭据。
-
-
git credential-store-
说明: 帮助程序,用于在磁盘上存储凭据。
-
使用场景: 将 Git 凭据存储在磁盘上。
-
-
git fmt-merge-msg-
说明: 生成合并提交信息。
-
使用场景: 格式化合并提交信息。
-
-
git hook-
说明: 运行 Git 钩子。
-
使用场景: 手动触发 Git 钩子。
-
-
git interpret-trailers-
说明: 添加或解析提交信息中的结构化信息。
-
使用场景: 处理提交信息中的“trailer”部分。
-
-
git mailinfo-
说明: 从单个电子邮件消息中提取补丁和作者信息。
-
使用场景: 从邮件中解析补丁信息。
-
-
git mailsplit-
说明: 简单的 UNIX mbox 分割程序。
-
使用场景: 分割 mbox 格式的邮件文件。
-
-
git merge-one-file-
说明: 与
git-merge-index一起使用的标准辅助程序。 -
使用场景: 内部合并辅助。
-
-
git patch-id-
说明: 计算补丁的唯一 ID。
-
使用场景: 为补丁生成唯一的标识符。
-
-
git sh-i18n-
说明: Git 的 shell 脚本国际化设置代码。
-
使用场景: Git 内部脚本的国际化支持。
-
-
git sh-setup-
说明: 通用 Git shell 脚本设置代码。
-
使用场景: Git 内部脚本的通用设置。
-
-
git stripspace-
说明: 移除不必要的空白。
-
使用场景: 清理文本中的空白字符。
-
User-facing repository, command and file interfaces (面向用户的仓库、命令和文件接口)
这些是 Git 的配置和接口文件。
-
git attributes-
说明: 定义每个路径的属性。
-
使用场景: 配置 Git 如何处理特定文件类型,例如文本文件的行尾符、二进制文件的比较方式等。
-
-
git cli-
说明: Git 命令行界面和约定。
-
使用场景: 描述 Git 命令行的使用方式和约定。
-
-
git hooks-
说明: Git 使用的钩子。
-
使用场景: 描述 Git 钩子的功能和使用方法,可以在特定事件发生时自动执行脚本。
-
-
git ignore-
说明: 指定有意未跟踪的文件以忽略。
-
使用场景: 描述
.gitignore文件的作用和语法,用于忽略不需要版本控制的文件。
-
-
git mailmap-
说明: 映射作者/提交者名称和/或电子邮件地址。
-
使用场景: 统一 Git 历史中不同作者名称或电子邮件地址。
-
-
git modules-
说明: 定义子模块属性。
-
使用场景: 描述
.gitmodules文件的作用和语法,用于配置子模块。
-
-
git repository-layout-
说明: Git 仓库布局。
-
使用场景: 描述 Git 仓库的目录结构。
-
-
git revisions-
说明: 指定 Git 的修订版本和范围。
-
使用场景: 描述如何在 Git 命令中指定提交、分支、标签等。
-
Developer-facing file formats, protocols and other interfaces (面向开发者的文件格式、协议和其他接口)
这些是 Git 的内部文件格式和通信协议。
-
git format-bundle-
说明: bundle 文件格式。
-
使用场景: 描述 Git bundle 文件的内部格式。
-
-
git format-chunk-
说明: 基于块的文件格式。
-
使用场景: 描述 Git 内部使用的基于块的文件格式。
-
-
git format-commit-graph-
说明: Git 提交图格式。
-
使用场景: 描述 Git 提交图文件的内部格式。
-
-
git format-index-
说明: Git 索引格式。
-
使用场景: 描述 Git 索引文件的内部格式。
-
-
git format-pack-
说明: Git 打包格式。
-
使用场景: 描述 Git 打包文件的内部格式。
-
-
git format-signature-
说明: Git 加密签名格式。
-
使用场景: 描述 Git 签名文件的内部格式。
-
-
git protocol-capabilities-
说明: 协议 v0 和 v1 功能。
-
使用场景: 描述 Git 协议的功能。
-
-
git protocol-common-
说明: 各种协议的共同点。
-
使用场景: 描述 Git 协议的通用特性。
-
-
git protocol-http-
说明: Git 基于 HTTP 的协议。
-
使用场景: 描述 Git 通过 HTTP 进行通信的协议。
-
-
git protocol-pack-
说明: 包如何通过网络传输。
-
使用场景: 描述 Git 打包文件在网络传输中的协议。
-
-
git protocol-v2-
说明: Git 线协议,版本 2。
-
使用场景: 描述 Git 协议的最新版本。
-