2015-07-22 54 views
1

出於某種原因,我想放棄我的branch_A,但我有一些文件剛剛在該branch_A中提交。我想將它們添加到branch_B。我怎樣才能做到這一點?如何將文件添加到另一個分支?

+2

爲什麼你不能使用merge,rebase或cherrypick? – Beat

+0

http://stackoverflow.com/questions/1628563/move-the-most-recent-commits-to-a-new-branch-with-git –

+0

我添加了太多的垃圾,我不想添加這些文件。因爲我用'git add -A'而且我也犯了。所以我簽出舊版本並創建一個新的分支。我認爲如果合併,我會花更多的時間。畢竟我只有4個文件要添加。 – deathlee

回答

5

開關分支B於:

git checkout branch_B 

然後,結賬要保持文件:

git checkout branch_A file1 file2 file3 [...] 

最後,提交更改

git commit -m "Backport changes from branch A for reasons" 
+1

這是你應該怎麼做的。有許多方法可以將文件從一個分支複製到另一個分支,許多方法都涉及移動分支指針。提供最有選擇性控制的最簡單的方法就是這樣做,只需檢出要保留的文件即可。 – poke

0

如果你困惑於如何執行控制檯正確的命令這是上面提出的,那麼你有一個懶惰的,簡單的選擇:

1)將文件複製你的項目目錄 2)結帳到您branch_B 3)簽出更換成你複製的文件,你甚至可以將它們合併 4)提交更改

0

git reset HEAD^將移動你一個提交回來。即。就在你提交到branch_A之前。現在使用git checkout branch_B切換到branch_B。然後git add你要提交的文件,然後git commit他們。他們將在branch_B

0

接通branch_A :git checkout branch_A,使用git log並記錄您的提交ID。然後打開branch_B:git checkout branch_B並使用git cherry-pick your commit id將提交移動到branch_B。

相關問題