Git合并编译文件有困难吗?

时间:2013-09-19 23:08:30

标签: git github git-merge

因此,我们将大量较少的文件编译成1行css。尝试合并此编译文件时,它会一直失败。我知道我们可以用git gui或gitmergetool手动修复冲突。但我想知道这对于一行上的编译文件是否相当常见?还有其他人遇到过这个问题吗?

由于 史蒂夫

2 个答案:

答案 0 :(得分:2)

如果文件只有一行,则合并效果不佳,因为合并是逐行的。

合并旨在处理“源”文件,这些文件是人类编辑的文件。编译的CSS文件不是源文件。

您有两种不同的选择:

  • 合并原始CSS后,通过重新编译和签入重新编译的版本来解决冲突。您需要在此文件上设置git属性以取消设置merge属性,因此不会尝试合并。

  • 不要将已编译的CSS检入Git。

修复你的gitattributes:

comiled/*.css -merge

答案 1 :(得分:1)

简短的回答是肯定的,但这不是git的错。

如需长篇答案,请查看man diff

DIFF(1)                          User Commands                          DIFF(1)

NAME
       diff - compare files line by line

基本上,每个差异工具都使用换行符来确定发生了哪些变化。这就是Unix / POSIX的工作方式,并且由于所有diff工具都设计为像diff一样工作,所以他们都会遇到这个问题。

通常,编译后的文件不应该真正检查到源代码控制中,但即使是这样,您也不必担心这些合并冲突。当您执行git mergegit rebase并且存在冲突时,只需处理源级别的冲突,重新编译该文件,您就可以认为这一切都很好。如果它不是很好,那么你就是在编写错误的东西!