我们有一个文件,其中包含一些对我们的软件有用的调试配置。我们希望该文件同步到每个开发人员的计算机上。但是开发人员可能会修改该文件,我们确实不希望检查特定调试会话的影响。.ini
与git同步的默认文件也会出现类似的问题,但我们希望能够在开发过程中进行修改,但不能报到。
我们认为我们可以提交一次文件,然后将其添加到.gitignore
文件中,但这是行不通的-文件仍显示为中的更改git status
。我们还发现了以下命令:
git update-index --assume-unchanged <file>
git update-index --skip-worktree <file>
但是这些必须在每个开发人员的计算机上运行-他们修改本地状态,而不是检入到远程存储库以同步到每台计算机的状态。
有什么办法可以使文件在默认状态下签入并同步,但可以修改而不会显示为差异?
我能找到的最接近答案的是,从以后的提交中忽略文件,但将其保留在repo上,但这并不能阻止文件看起来像开发人员计算机上的差异。
对于Git,这是不可能的,至少不是您想要的那样。
答案在Git FAQ中给出。
如何忽略对跟踪文件的更改?
Git没有提供执行此操作的方法。
解决方案是使用其他文件,例如default.ini.template
,然后在其中添加默认值。然后,开发人员需要将文件复制为其真实名称default.ini
。由于您极有可能会使用构建自动化工具(make,gradle,maven),因此您可以在其中添加一个任务来为您执行复制,或者将一个简单脚本添加到回购中,而开发人员只需执行一次即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句