如何将更改从 git 远程分支移动到新分支

时间:2021-03-12 11:11:51

标签: git

我从我们的 my-feature-branch 分支创建了 develop 分支,向它提交了我的更改,并提出了 PR 以将其合并回 develop

但是,老板说,我应该做的是,从 my-feature-branch 创建一个 develop,然后从 my-story-branch 创建一个 my-feature-branch,将我的更改提交到 {{ 1}} 并提出 PR 将 my-story-branch 合并回 my-story-branch

my-feature-branch的所有故事都完成后,它将合并回my-feature-branch

所以,为了解决这个问题,我想这样做:

  1. 手动将我的更改(共 12 个文件)复制到我计算机中的其他位置
  2. 删除我创建的所有分支
  3. 再次创建develop,然后再创建my-feature-branch
  4. 手动粘贴我的更改
  5. 提交并提升公关

是否有更短的方法来完成此操作而不删除分支并手动复制粘贴我的更改?

编辑

my-story-branch

1 个答案:

答案 0 :(得分:1)

由于您已经将 my-feature-branch 推送到远程(假设为 origin),我们可能应该删除它。确保没有其他人在使用该分支。

git push -d origin/my-feature-branch
# (if force has to be used)
# git push -f -d origin/my-feature-branch

我们可以将本地 my-feature-branch 重命名为 my-story-branch 并推送它。

git checkout my-feature-branch
git branch -m my-story-branch
git push origin my-story-branch

因为我们仍然需要合并 my-feature-branch,所以我们可以创建它并推送它。

git checkout develop
git checkout -b my-feature-branch
git push origin my-feature-branch

一个简化的 git 树应该是这样的:

x-x-x (develop)(my-feature-branch)
         \
          x-x-x' (my-story-branch)

一旦 my-story-branchmy-feature-branch 合并,它应该如下所示:

x-x-x (develop)-x (my-feature-branch)(my-story-branch)
         \     /
          x-x-x'