2017-06-26 76 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底部有合併結果。

查找最適合您的工具。