章节 ▾ 第二版

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

管理

如果你正在管理一个 Git 仓库或者需要进行大规模的修复,Git 提供了一些管理命令来帮助你。

git gc

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

该命令通常在后台为你运行,但如果你愿意,也可以手动运行它。我们在维护中介绍了这方面的一些示例。

git fsck

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

我们在数据恢复中只快速使用过它一次来搜索悬空对象。

git reflog

git reflog 命令会遍历你分支头所在位置的日志,帮助你找回可能因重写历史而丢失的提交。

我们主要在RefLog 简写中介绍这个命令,其中我们展示了如何正常使用以及如何使用 git log -ggit log 输出格式查看相同信息。

我们还在数据恢复中通过一个实际示例来演示如何恢复此类丢失的分支。

git filter-branch

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

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

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

scroll-to-top