我很长时间以来都在使用git。我现在面临的挑战有点令人困惑。我的问题是使用不同版本的应用程序来管理存储库。
我正在开发一个应用程序,我必须发布应用程序的几个模块,我将不得不继续开发模块,而不必等待以前模块的测试问题。因此,我为每个模块创建了不同的分支,并在处理它们时将旧分支留在完成该模块更改的位置。没问题,但问题是,当测试人员在旧模块上提出问题时,我将不得不修复旧分支上的那些特定问题,这些修复也应该反映在新的工作分支和未来的源代码分支上。而且我将不得不使用旧分支的修复程序,直到旧的分支任务目标,而没有新分支的新更改。
我正在使用source tree mac应用程序来管理我的存储库。有没有办法完成这项任务。我现在正在做的是同时修改2个存储库的源代码以解决单个问题,我担心如果我必须为3个存储库执行此操作,这很糟糕,因为我即将完成第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)