章节 ▾ 第二版

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中,我们使用它来修复导入的外部仓库。