2

我正在使用 git 来跟踪我在不同机器上使用 Kile 编写的大型 LaTeX 文档。

.kilepr关闭 Kile 时,Kile 会写入其配置文件。我经常遇到的问题是我在关闭 Kile之前提交。所以我提交并推送,在另一台机器上工作,当我回来想要拉时,我遇到了合并冲突,因为.kilepr文件包含光标位置(现在显然改变了)。

我的问题:有没有办法为特定文件添加合并规则到 git config (总是使用--theirs)?使用.gitignore不是一个选项,因为该.kilepr文件包含重要信息,例如项目中的文件。

4

2 回答 2

2

模拟合并的所有可能方法都列在“ git command for making an branch like another ”中。

但是对于一个文件,您只需要一个合并驱动程序,在.gitattributes文件中声明,keepTheir脚本如下:

mv -f $3 $2
exit 0

有关自定义合并驱动程序(包括我自己的版本)的具体示例,请参阅“需要的“<code>git merge -s theirs”——但我知道它不存在”。

于 2012-08-31T16:27:49.490 回答
1

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

在 git config 中,您可以添加自定义合并驱动程序:

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

但您也可以只为始终保留本地更改的驱动程序返回“true”:

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

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

/folder/**/*.fileExtension merge=keep-local-changes
于 2018-03-07T02:15:38.463 回答