告诉git不要更改文件

时间:2017-04-20 15:22:06

标签: git

我们有一个Drupal网站,我们在git repo中维护。由于该网站是公共网站,但适用于私人网站,因此我们希望将RewriteRule news/new.php index.php [L] # it doesn't work 设置为禁止所有网站。

但是,Drupal会不时进行核心更新,这些更新在网站仓库的根目录中包含robots.txt,以及许多其他文件。核心更新是通过robots.txt文件提供的,而不是通过另一个仓库的远程更新。然后,对Drupal核心的更新显示为差异,就像您自己编辑了代码一样。

如果有人在我们的仓库中更新Drupal核心,他们可能会覆盖我们的自定义tar.gz,我们可能不会注意到,直到结果再次出现在Google中。

有没有办法去修复"或者在git repo中固定文件的状态?或者至少让那些去改变它的人变得吵闹?

2 个答案:

答案 0 :(得分:0)

您是否考虑过将其他 rpbots.txt重命名为分支上的其他名称?这样,如果robots.txt文件在另一个分支上更改并且您合并,则更改将落在重命名的文件上而不是您的 robots.txt

答案 1 :(得分:0)

已更新以反映有关如何接收更新的新信息:

你可以使用一个钩子。由于您希望全局实施此功能,因此您可能希望使用服务器端Running as a 32-bit process on a Win64 machine. ICU DLLs found in PATH: C:\Program Files\ICUBins DLL in path is 64-bit DLL. 挂钩来拒绝任何修改pre-receive的推送。 (您可以使用客户端robots.txt挂钩来更早地捕获它,但是必须为每个repo克隆正确设置,因此不能作为保证。)

至于如何编写钩子,我首先看一下.git / hooks中的例子;我认为pre-commit钩子显示了如何进行基于内容的拒绝。