题
是有一个简单的方法来处理二进制文件git行动?我认为我想在这种情况下-"合并"。莫文件(二进制的。po信息),将得到优先考虑较新的文件,复制它的顶部的旧的一个。
所以,我可以配置缝这样做,或者是它永远都会是一个手册的运动?
解决方案
您可以添加一个自定义在 gitattributes文件合并驱动程序 (见本 SO问题),仅用于*.mo
文件和仅在相关的目录。
echo *.mo merge=keepTheir > dirWithMoFiles\.gitattributes
git config merge.keepTheir.name "always keep theirduring merge"
git config merge.keepTheir.driver "keepTheir.sh %O %A %B"
使用keepTheir.sh
为:
mv -f $3 $2
exit 0
其他提示
好最好就是不保留生成的文件(如文件的.mo)版本控制之下。
如果您仍想有他们在Git中,使用标准的方式来解决冲突。
例如,你可以得到相互矛盾的文件的任一版本:
git checkout --theirs -- dir/file.mo
git checkout --ours -- dir/file.mo
或者使用git mergetool
这将为您冲突的文件的两个版本。
基本上,这个概念是很好地解释这里 我怎么告诉缝总是选择我的当地版本,用于冲突的合并在一个具体的文件?
这里是一个庆典脚本,简化了描述的步骤没 https://github.com/equivalent/git_to_svn_behavior-
(步骤如何运行自述)
不隶属于 StackOverflow