期間我們/他們的文件內容,我知道我能得到我們的/他們的狀態通過調用混帳:獲得合併
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
底部有合併結果。
查找最適合您的工具。