期间我们/他们的文件内容,我知道我能得到我们的/他们的状态通过调用混帐:获得合并
git checkout --ours/--theirs -- path/to/my/file.txt
但是这将会覆盖在我的工作树中的文件。如何在合并期间获取我们/他们的文件状态的文件内容而不覆盖工作树?
期间我们/他们的文件内容,我知道我能得到我们的/他们的状态通过调用混帐:获得合并
git checkout --ours/--theirs -- path/to/my/file.txt
但是这将会覆盖在我的工作树中的文件。如何在合并期间获取我们/他们的文件状态的文件内容而不覆盖工作树?
git show :1:file/path # base
git show :2:file/path # ours
git show :3:file/path # theirs
当合并冲突被触发,HEAD
仍然指向原来的承诺,并MERGE_HEAD
到提交试图合并的,因此:
git show HEAD:file/path
git show MERGE_HEAD:file/path
也将起作用,并且可能对用户更加明确。
,当你调用:
git merge-tool -- file/path
的git(如果配置正确)将与所有有用的文件版本推出这个工具:目前,他们,我们,基地(在两个分支的共同assentor的版本的文件) 。
有许多工具来帮助解决合并冲突:kdiff3
,meld
我最喜欢的是beyond compare
(不是免费的 - 试验有30个工作日内免费的 - 如果你不使用它,它不会降低的审判日数) 。 它有“三路marge”视图,左上方有4个子视图顶部是ours
中间base
右边有theirs
底部有合并结果。
查找最适合您的工具。