2011-01-11 60 views
34

我想合併所有文件手動與meld或任何其他diff工具,我怎麼能用Git做到這一點?
當我運行git mergetool 它說no files need merging。所以我想我只有在發生衝突時才能做到。如何在Git中手動合併所有文件?

+0

請向我們提供的一些背景*什麼*要合併和*爲什麼*您不希望自動完成。 – Johnsyweb 2011-01-11 11:31:25

+0

我想合併文本文件:)我曾經mercurial的手動合併,並希望同時看到3個文件,如果出現問題我總是可以自己編輯所有這些文件 – gennad 2011-01-11 11:53:12

+0

你想合併不同版本的不同文本文件文本文件?這些文件如何與git相關? – Johnsyweb 2011-01-11 12:02:50

回答

-15

爲什麼要手動合併?

如果要應用選擇性更改,請嘗試在兩個分支中的文件之間使用diff工具,應用所需的更改,然後像平常一樣提交此「合併」文件。

69

有更簡單的方法:

git merge --no-commit merge_branch

至於男子說:

隨着--no-commit執行合併,但假裝沒合併,做 不自動提交,給予用戶有機會檢查並進一步調整 之前的合併結果 提交。

10

類似的問題是How to prevent an automerge using git?

FractalSpace給了一個答案,我覺得很有用:

$ git checkout master 
$ git difftool -t kdiff3 local-branch HEAD 

的想法是使用difftools而不是自動合併工具來手動挑選你所需要的創造新文件。

19

我曾在那裏的情景:

git merge --no-commit merge_branch 

只是造成了快進。

如果發生這種情況,你可以使用:

git merge --no-commit --no-ff merge_branch 

,然後你就可以查看您的更改

相關問題