我創建了一個分支來解決問題。在這個分支中,我放置了很多調試行來識別問題,並對其進行了修復。所以,我有:如何強制手動合併git而不是快進
* (issue_b47) Without the bug but with a lot of useless debug things
* (HEAD, master) With the bug
如果我只是寫
git checkout master
git merge issu_b47
git會做一個快進合併,然後我將繼承所有調試事情,我不想。
我想要做的是做一個手動合併我的difftool
。怎麼做?
我認爲在我的difftool的左側面板上清楚地看到issue_b47
分支和右側面板上的master
分支更容易。我可以決定保留解決問題的相關內容,保存差異並最終確定合併。有沒有這樣做與GIT?
第一個解決方案是我通常做的,但是做一個更好與兩個分支的有罪文件進行比較。我會清楚地看到我做了什麼改變。通過這種方法,我可以保持解決問題的相關問題。 – nowox 2014-09-25 06:47:36
我不認爲有這樣做與git。你可以用'git reset --soft HEAD〜1; git reset HEAD。; git add -p',最後一位將導致git獲取更改的每個塊並詢問您是否要將其添加到提交中。 – 2014-09-25 06:51:53
@coin這是一個很好的例子,爲什麼有人應該接受這個原則[Commit Through,After Later,Publish Once](http://sethrobertson.github.io/GitBestPractices/)。這對你現在沒有幫助,但你應該考慮將來的工作流程。 – 2014-09-25 09:15:30