若要有選擇地將文件從一個分支合併到另一個分支,請運行,git merge --no-ff --no-commit branchX
其中:branchX是要合併到當前分支的分支
no commit選項將暫存由Git合併的文件,而不實際提交它們,這樣你就有機會修改合併后的文件,然後自己提交。
根據你想要合併文件的方式,有四種情況:
1)你想要真正的合併,在這種情況下,你接受合併文件的方式,Git合併它們,然後提交它們。
2)有些文件你不想合併,例如,要保留當前分支中的版本,並忽略要合併的分支中的版本。
若要在當前分支中選擇版本,請運行:git checkout HEAD file1
這將在當前分支中檢索file1的版本,並覆蓋由Git自動合併的文件。
3)如果你想要branchX中的版本(而不是真正的合併),請運行:git checkout branchX file1
這將在branchX中檢索file1的版本,並覆蓋Git自動合併的文件。
4)最後一種情況是,如果你只想在file1中選擇特定的合併,在這種情況下,您可以直接編輯修改後的file1,將其更新為您想要的file1版本,然後提交。
如果Git無法自動合併文件,它將報告為"unmerged"文件並生成一個副本,你需要手動解決衝突。
用一個例子進一步說明,假設你要將branchX合併到當前分支中:git merge --no-ff --no-commit branchX
然後運行git狀