有没有在git操作中处理二进制文件的简单方法?我认为我在这种情况下的理想做法--“合并”.mo文件(二进制.po消息)--应该优先于较新的文件,将其复制到旧文件的顶部。
那么,我可以配置git来做这件事吗?还是总是需要手动操作呢?
发布于 2010-03-09 20:25:08
您可以在gitattributes file中添加自定义合并驱动程序(请参阅此SO question),仅适用于*.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发布于 2010-03-09 20:12:23
最好的想法是不要将生成的文件(如.mo文件)置于版本控制之下。
如果你仍然想在Git中使用它们,可以使用标准的方法来解决冲突。
例如,您可以获取冲突文件的任一版本:
git checkout --theirs -- dir/file.mo
git checkout --ours -- dir/file.mo或者使用git mergetool,它将为您提供冲突文件的两个版本。
发布于 2011-08-25 01:33:44
基本上,这个概念在这里解释得很好,How do I tell git to always select my local version for conflicted merges on a specific file?
下面是一个bash脚本,它简化了https://github.com/equivalent/git_to_svn_behavior-中描述的步骤
(步骤如何在自述文件中运行)
https://stackoverflow.com/questions/2408748
复制相似问题