我正在处理一个需要在不同配置文件之间切换的项目,完成该切换的唯一方法是将一些文件移动到设置目录。
目前,我通过忽略设置目录并复制(而不是移动)这些文件来进行解决方法。
在我(Unity3d)工作的环境中,移动速度比复制要快得多,但git会跟踪重新定位的文件,尽管它们内部没有任何变化。
我可以更改此行为吗?
答案 0 :(得分:1)
不,这些文件的位置显然很重要,因此请跟踪它。如果文件中没有任何内容发生变化,Git实际上不会复制任何数据,它在开销方面没有任何成本,但是如果您选择查看以前的文件,Git知道放置这些文件的位置非常重要状态。我可以更改此行为吗?
如果我完全误解了您的情况并且您只想将文件存储在一个位置,则可以使用符号链接将它们链接到另一个目录中。
答案 1 :(得分:1)
如果您根本不关心控制移动文件的版本,可以将它(在两个位置)添加到.gitignore文件中。
除此之外,我想不出任何方法告诉git不关心文件从工作树中的一个地方消失并出现在另一个地方。跟踪文件的内容而不了解它的位置并不能真正适用于git存储的方式。
听起来你正在使用你的源工作树作为部署实例做双重任务;你可能会考虑改变这种做法,因为它可能会避免这些问题。
答案 2 :(得分:1)
我可以更改此行为吗?
你不能,不。跟踪文件的名称和内容是git的核心,无法更改。
然而,一种可能的解决方法是保留文件的固定目录,然后在它们上创建符号链接(或Windows上的快捷方式)以实际使用它们。如果您将Git设置为忽略符号链接所在的控制器,您可以编辑原始文件并根据需要移动符号链接,并且只会提交内容更改。
希望这会有所帮助:)