Git的方法:添加合并规则来配置特定的文件(Git: Add merge rule to confi

2019-09-22 00:58发布

我使用Git来跟踪我写在不同的机器使用Kile的一个大型的LaTeX文档。

Kile的写入其.kilepr关闭Kile的时候配置文件。 我经常碰到的问题是,我关闭Kile的提交。 因此,我承诺和推动工作的另一台机器上,当我回来,想拉我收到了合并冲突,因为.kilepr文件中包含的光标位置(这显然现在已经改变)。

我的问题:有没有办法添加一个合并规则混帐配置特定文件(始终使用--theirs)? 使用.gitignore是不是因为一个选项.kilepr文件中包含的重要信息,如在项目文件。

Answer 1:

所有可能的方法来模拟合并-s他们在“中列出的git命令制作一个分支就像另一个 ”。

但对于一个文件,你需要的是一个合并的驱动程序,在宣布.gitattributes文件,具有keepTheir脚本,如:

mv -f $3 $2
exit 0

请参阅“ ‘ git merge -s theirs ’需要-但我知道它不存在 ”自定义的一个具体的例子合并驱动程序(包括我自己的版本 )。



Answer 2:

2018解决方案:合并驱动程序

在混帐配置,你可以添加自定义合并驱动程序:

[merge "my-custom-driver"]
    name = A custom merge driver used to resolve conflicts in certain files
    driver = my-merge-tool.sh %O %A %B

但你也可以只返回“真”的,这将始终保持局部变化的驱动程序:

[merge "keep-local-changes"]
    name = A custom merge driver which always keeps the local changes
    driver = true

然后在.gitattributes您可以定义文件类型使用的自定义合并驱动程序:

/folder/**/*.fileExtension merge=keep-local-changes


文章来源: Git: Add merge rule to config for specific file