【发布时间】:2020-02-05 04:16:50
【问题描述】:
我在“.git/info/exclude”文件中指定了一些文件,因此当我提交时,这些文件不会暂存/包含在提交中。我也想在合并时保留这些文件的本地版本。我已经设置了一个“我们的”合并驱动程序并适当地设置了“.git/info/attributes”文件(我认为);但是,我认为没有使用该驱动程序,因为我认为 git 在尝试合并时不会检测到这些文件中的任何冲突。
这是我的“.git/info/exclude”文件(它给了我我想要的——这些文件永远不会被暂存):
/IDWA.Client/dmsConfig.json
/IDWA.Server.AppServer/client-config*.*
/IDWA.Server.AppServer/dmsConfig.json
这是我的“.git/info/attributes”文件(它似乎根本没有做任何事情;再次,我认为是因为 git 在尝试合并时没有检测到任何冲突):
/IDWA.Client/dmsConfig.json merge=ours
/IDWA.Server.AppServer/client-config*.* merge=ours
/IDWA.Server.AppServer/dmsConfig.json merge=ours
驱动配置:
git config --global merge.ours.driver true
最后……
我只是希望能够执行 git pull 而不必担心这些文件。
【问题讨论】:
-
您不能排除跟踪的文件。当在合并期间,both 分支提示与 merge base 提交不同时,您的
merge=ours指令将被遵守,但如果只有一个分支提示不同,则不会:Git 将采取那个版本,不管它是谁的版本。 (如果您无法在上游正确修复它,除了忍受烦恼之外,您无能为力。) -
@torek - 我害怕那个。
标签: git git-merge git-pull gitattributes