1

我是新来的塔。如果 repo 中名为 index.html 的文件包含字符串“1234”,我想要做的是防止将 repo 推送到我们的远程。

有什么建议吗?

而且,如果 Tower 不允许这样做,可以直接从终端使用 git 吗?

谢谢

4

2 回答 2

1

它似乎与 Tower 无关,但更多地与远程仓库本身相关:
您可以(在该远程仓库)设置一个更新挂钩,它将检查每个提交,并确保内容不是错误的.
请参阅“防止推送到某些文件中包含选项卡的 git(例如,、、*.cpp*.hCMakeLists.txt的示例。

像“预推送钩子”这样的客户端钩子 wdel> 不存在,因此最好在远程端共同控制该控制,以便对推送到所述远程存储库的任何下游存储库强制执行该控制。

自 git1.8.2 5March 8th, 2013 以来,pre-push 钩子实际上存在,但这需要将其部署到每个下游存储库,与在一个地方(上游存储库)执行相同的策略相比,这不是最佳的。
话虽如此,如果您正在使用一个下游存储库(即您自己的本地存储库),那么预推送挂钩肯定会派上用场。

于 2013-03-21T15:14:48.890 回答
1

所以我找到了一个适合我的解决方案。

就 pre-push hook 而言,它确实存在。(这只是为了回答 VonC 留下的评论)。

从 git 1.8.2 开始,可以运行 pre-push 挂钩。因此,当我尝试推送时,我正在做的是从 pre-push 挂钩中退出一个非零值,并且我在 pre-push 挂钩中指定的某个文件包含某个字符串。

所以我想这就是我需要做的。我可以看到在服务器端这样做会更好,但在这种情况下,我需要它以这种方式工作。

因此,使用 git 1.8.2 可以通过使用 pre-push 挂钩轻松完成。

于 2013-03-22T20:22:59.337 回答