【问题标题】:Git: Change branch I have branched off ofGit:更改我已经分支的分支
【发布时间】:2019-12-22 08:41:47
【问题描述】:

对于一项新功能,我从当前的 dev 分支(不是 master)在 Git 中创建了一个分支,并在本地实现了一些更改,但没有提交。 然后我偏离了方向,开发继续进行。我用作基地的分支现在已经关闭,并且有一个新的分支。

如何更改我的功能分支,使其使用新的开发分支作为基础?

master --
     \-- dev 1
             \-- feature
     \-- dev 2

现在我想移动功能,因为它分支到 dev 2,然后提交我的更改:

master ---
     \-- dev 1
     \-- dev 2
             \-- feature

到功能分支,当然不会丢失其他人可能已经做出的提交。

【问题讨论】:

  • 你需要查看git rebase

标签: git branch git-branch branching-and-merging


【解决方案1】:

你需要

git rebase dev1 feature --onto dev2

(如果我没记错的话,你可能需要dev1^,但我不这么认为)。

【讨论】:

  • 我致命:需要一个修订版不指向有效提交:dev2
  • 那么,dev2 存在吗?尝试 git branch 以获得一个想法。我只是使用了你的分支名称。
  • @Jonas 本来是要给你打电话的 woops
  • 如果您还没有在本地签出新分支,您仍然可以重新定位到其远程。对我来说,这看起来像git rebase dev1 feature --onto origin/dev2。否则我会收到“不指向有效提交”错误。
【解决方案2】:

看起来您必须将尚未提交的更改添加到 dev2 分支之上。如果我错了,请纠正我。

解决方案:

git stash save -u "My feature"     # stash all changes
git branch -d feature              # delete old feature branch
git checkout dev2
git branch -b feature              # create new feature branch
git stash apply                    # unstash all you changes

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 2012-04-29
    • 2020-08-20
    • 2013-06-07
    • 2021-09-03
    • 2011-11-25
    • 2017-12-08
    • 2018-07-05
    • 2014-04-27
    相关资源
    最近更新 更多