我知道我可以通过调用
获得我们/他们的状态git checkout --ours/--theirs -- path/to/my/file.txt
但这会覆盖我工作树中的文件。如何在合并期间获取我们/他们的文件状态的文件内容而不覆盖工作树?
答案 0 :(得分:7)
RewriteEngine on
RewriteRule ^(.+)\.html/(.+)$ /$1.html?params=$2 [NC,L]
当触发合并冲突时,git show :1:file/path # base
git show :2:file/path # ours
git show :3:file/path # theirs
仍指向原始提交,HEAD
指向尝试合并的提交,因此:
MERGE_HEAD
也可以使用,也许对用户更明确。
答案 1 :(得分:0)
当您调用时:
git merge-tool -- file/path
git(如果配置正确)将启动此工具以及所有有用的文件版本:current,theirs,ours,base(两个分支的常见assentor版本中的文件)。
有许多工具可帮助解决合并冲突:kdiff3
,meld
我最喜欢的是beyond compare
(非免费试用 - 免费试用30个工作日 - 如果你不使用它,它不会减少试用天数)。
它有三种方式#34;视图,左侧顶部有4个子视图,ours
位于右侧base
的中间theirs
,底部有合并结果。
找到最适合您的工具。