2017-06-26 80 views
0

期间我们/他们的文件内容,我知道我能得到我们的/他们的状态通过调用混帐:获得合并

git checkout --ours/--theirs -- path/to/my/file.txt 

但是这将会覆盖在我的工作树中的文件。如何在合并期间获取我们/他们的文件状态的文件内容而不覆盖工作树

回答

2

Hidden in the docs :

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 

也将起作用,并且可能对用户更加明确。

0

,当你调用:

git merge-tool -- file/path 

的git(如果配置正确)将与所有有用的文件版本推出这个工具:目前,他们,我们,基地(在两个分支的共同assentor的版本的文件) 。

有许多工具来帮助解决合并冲突:kdiff3meld 我最喜欢的是beyond compare(不是免费的 - 试验有30个工作日内免费的 - 如果你不使用它,它不会降低的审判日数) 。 它有“三路marge”视图,左上方有4个子视图顶部是ours中间base右边有theirs底部有合并结果。

查找最适合您的工具。