如何将更改从分支A推送到分支B而不从B分支git中删除新的更改(无合并)

时间:2017-02-22 11:45:01

标签: git bitbucket branching-and-merging sourcetree

我很长时间以来都在使用git。我现在面临的挑战有点令人困惑。我的问题是使用不同版本的应用程序来管理存储库。

我正在开发一个应用程序,我必须发布应用程序的几个模块,我将不得不继续开发模块,而不必等待以前模块的测试问题。因此,我为每个模块创建了不同的分支,并在处理它们时将旧分支留在完成该模块更改的位置。没问题,但问题是,当测试人员在旧模块上提出问题时,我将不得不修复旧分支上的那些特定问题,这些修复也应该反映在新的工作分支和未来的源代码分支上。而且我将不得不使用旧分支的修复程序,直到旧的分支任务目标,而没有新分支的新更改。

我正在使用source tree mac应用程序来管理我的存储库。有没有办法完成这项任务。我现在正在做的是同时修改2个存储库的源代码以解决单个问题,我担心如果我必须为3个存储库执行此操作,这很糟糕,因为我即将完成第2个模块。我希望必须有办法。

2 个答案:

答案 0 :(得分:2)

使用cherry-pick。

branch_a : A - B - C <- tip
branch_b : D - E - F <- tip

要从branch_b到branch_a挑选提交E,请执行:

git checkout branch_a
git cherry-pick E

你最终会得到:

branch_a : A - B - C - E' <- HEAD
branch_b : D - E - F <-tip

其中E'E相同,但在C之上。

答案 1 :(得分:1)

您需要使用https://git-scm.com/docs/git-cherry-pick

来挑选提交