Git Merge与Yaml文件冲突

时间:2012-12-05 16:00:08

标签: git yaml

我正在使用修订版控制的yaml文件来跟踪与软件版本相关联的软件包,并且有多个作业(在Jenkins上运行)编辑跟踪文件的不同部分。当我尝试将更改推送到文件时,我有时会遇到合并冲突,具体取决于编辑文件的哪个部分。例如:

HEAD:

...

Package6:
    Name: motorControl
    Version: 1.2
    Size: 341
Package7:
    Name: None
    Version: None
    Size: None
...

本地副本:

...

Package6:
    Name: None
    Version: None
    Size: None
Package7:
    Name: eyeCandy
    Version: 3.2
    Size: 1087
...

我是否可以使用不同的合并策略来解决此问题而无需手动解决冲突?

1 个答案:

答案 0 :(得分:2)

在您的情况下,最好的方法是将此文件添加到.gitignore而不是版本。然后,当您更新文件时,可以在git-hooks中生成它。

如果这不是解决方案,您可以使用git checkout --theirs -- <path/file>git checkout --ours -- <path/file>。然后,您git addgit commit仍然需要手动执行一些操作,但至少您不需要在文件中手动解决这些冲突。

但最好的办法是忽略自动生成的文件。