2015-07-22 56 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。

相关问题