Ken*_*130 112 git git-am git-apply
我在窗户上.
由于各种原因,我们有多个不同svn分支的git实例.
很多时候我想修复存储库A中的问题,生成补丁并将其应用到存储库B.除非存在冲突,否则这种方法很好.
重新定位时,我只需右键单击该文件夹并使用tortioseGit并选择解析选项.这带来了一个很好的gui,让我解决我的冲突.
有没有办法用拒绝的补丁块完成这个?
这是我目前创建/应用补丁的方法
git format-patch master --stdout > c:\\patch\\file.patch
git apply --reject --ignore-space-change --ignore-whitespace c:\\patch\\file.patch
Run Code Online (Sandbox Code Playgroud)
g19*_*tic 222
要生成补丁,请执行以下操作:
git format-patch --stdout first_commit^..last_commit > changes.patch
Run Code Online (Sandbox Code Playgroud)
现在,当您准备应用补丁时:
git am -3 < changes.patch
Run Code Online (Sandbox Code Playgroud)
-3如果存在冲突,将进行三方合并.在这一点上,你可以做git mergetool,如果你想去一个GUI或只是手动使用vim(标准合并文件<<<<<<,||||||,>>>>>>解决冲突).
mpl*_*plf 10
如果在应用补丁,重新定位或合并时经常遇到相同的冲突集,则可以使用git rerere(重用记录的分辨率)函数.这允许您根据过去如何解决冲突来预先定义冲突的解决方式.有关其工作原理的详细信息,请参见http://git-scm.com/blog/2010/03/08/rerere.html.