章节 ▾ 第二版

A3.11 附录 C:Git 命令 - 管理

管理

如果您正在管理 Git 仓库或需要进行重大修复,Git 提供了一些管理命令来为您提供帮助。

git gc

git gc 命令会对您的仓库运行“垃圾回收”,删除数据库中不必要的文件,并将剩余文件打包成更高效的格式。

此命令通常会在后台自动运行,但您也可以根据需要手动运行它。我们在 维护 一节中介绍了一些相关的示例。

git fsck

git fsck 命令用于检查内部数据库是否存在问题或不一致之处。

我们在 数据恢复 一节中简要地使用过它一次,用于搜索悬空对象。

git reflog

git reflog 命令会遍历您工作时所有分支头指针的日志,以查找您可能因重写历史而丢失的提交。

我们主要在 RefLog 简写 一节中涵盖此命令,并展示了其常规用法,以及如何通过 git log -g 使用 git log 的输出查看相同信息。

我们还在 数据恢复 一节中演示了恢复此类丢失分支的实际示例。

git filter-branch

git filter-branch 命令用于根据特定模式重写大量提交,例如在所有提交中删除某个文件,或者为了提取项目而将整个仓库过滤为单个子目录。

从每一个提交中删除文件 一节中,我们解释了该命令,并探讨了几个不同的选项,如 --commit-filter--subdirectory-filter--tree-filter

Git-p4 一节中,我们使用它来修复导入的外部仓库。