我在一个git仓库的情况下,我想保持一个文件不变,除非开发人员明确知道他们在改变它时正在做什么。有什么方法可以在git中跟踪文件的不变状态吗?
我们有一个Drupal网站在回购中,我们不想更改自定义robots.txt
。更新Drupal核心包括解压tarball。这意味着我们的定制robots.txt
将替换为Drupal robots.txt
的库存。由于Drupal的核心更新被大量接受(他们主要是安全更新),可能有些不小心的开发人员会不小心覆盖我们的robots.txt
。
这不是你在合并请求中可以找到的东西,因为在核心更新中有几十个文件发生了变化,而且你不打算审查所有这些文件。我发布了another question,但回答涉及仅限本地的回购/环境更改,并且不会在回购中进行跟踪。 我已经做了一些调查研究,这是我到目前为止已经发现:
skip-worktree
仅仅是本地属性;没有跟踪。assume-unchanged
是一个本地财产只;没有跟踪。.gitignore
- 我试图解开文件,忽略它,然后--force
添加它。当我做出改变时,git仍然看到它们。这不是一个解决方案。- 挂钩未在回购中追踪。您可以配置它们以进行跟踪,但需要设置本地环境才能开始工作,如果我们要这样做,为什么不设置
skip-worktree
或其他设置。
目前没有办法阻止文件的更改从在repo本身内执行(在显式/额外步骤之外,如交换机之外),在执行额外的本地配置之外?
我发布这个问题的原因是因为我试图给我的经理一个明确的“不,我们不能跟踪回购中的这些信息,我们将不得不在开发人员的环境中做额外的配置。
我在git-bash中使用git 2.12.0.windows.1
。
你不能要求git忽略一个已经被跟踪的文件,这样它在所有情况下都是独立的。任何你没有适当的部署脚本来处理这些事情的原因? –