1

我对 .git/hooks 目录进行了一些更改。现在我希望放弃这些更改并将 .git/hooks 恢复到其初始状态。我可以这样做吗?怎么做?

4

3 回答 3

1

Git 目录.git没有版本控制。Git 不会在.git/hooks目录中保存文件的副本。您必须自己进行备份。

于 2012-12-12T08:29:29.363 回答
1

Git 只跟踪工作目录中的内容并省略 .git 文件夹。

但是,您可以通过创建一个单独的分支,然后告诉 git 工作树存在于 git 文件夹中来跟踪您喜欢的任何内容。我展示了如何使用 rerere 和它创建的 rr-cache 来做到这一点。示例语法是:

git --work-tree=.git/hooks --git-dir=.git add -A

您还必须为提交重复这些选项。

这是关于如何共享 rerere 缓存的帖子:共享 rerere 缓存

如果你想分享你的钩子,那应该让你开始。

于 2012-12-12T08:42:31.647 回答
0

获取初始挂钩的最简单方法可能是删除当前挂钩,使用 创建一个临时存储库git init,然后将挂钩脚本从那里复制到现有存储库的挂钩目录中。

您还可以尝试查找 git 在您的系统上存储其默认挂钩模板的位置,并直接从那里复制它们。

于 2012-12-12T15:14:56.883 回答