Git工作流:将现有分支合并到新分支并删除旧分支

时间:2017-05-18 09:25:57

标签: git version-control merge

方案: 在主分支上

  1. git checkout target_branch

  2. git checkout new_branch

  3. git commit -m:" TARGET BRANCH TASK NUMBER,NEW BRANCH TASK NUMBER:Message"

  4. git push origin new_branch

  5. git checkout target_branch

  6. git push origin target_branch

  7.   

    合并请求(目标 - target_branch

    据我所知, new_branch 并非由 target_branch 创建,因为我首先从 new_branch 然后才推送 target_branch (只是忘了)。

    请帮助我,请在下一步做好:

    我将和我的朋友一起在 target_branch 工作,我们将从中创建分支。

    我现在需要从 target_branch 创建 new_branch 并删除旧 new_branch (我想,现在似乎是从master而不是从target_branch创建的)。

    如何正确地执行此操作(对于Git历史记录)?

2 个答案:

答案 0 :(得分:0)

要更改从new_branch {或target_branch签出的master,您可以使用相同的方法:

git checkout target_branch
git cherry-pick target_branch..new_branch
git branch -f new_branch
git checkout new_branch

注意:

- 如果存在挑选冲突,您可以修改并保存冲突文件,然后使用git add .git cherry-pick --continue。 - 如果您不希望在ew_branch的顶部重新绑定n target_branch,则可以使用git checkout <an history commit of target_branch>,然后使用上述命令重新定位new_branch。如下图所示,如果使用git checkout B,并且在上述命令之后,分支将如下所示:

# Original branch structure

    A---B---C target_branch

    D---E---F new_branch

# After rebase new_branch from commit B

    A---B---C target_branch
         \
          D'---E'---F' new_branch

答案 1 :(得分:0)

要解决您的问题,请执行以下步骤:

  1. git checkout target_branch
  2. git merge new_branch
  3. git push origin target_branch
  4. 您现在位于 target_branch ,让我们删除旧分支: new_branch

    1. git branch -D new_branch
    2. git branch new_branch
    3. 现在你&amp;您的朋友可以从 target_branch &amp;处理 new_branch