我正在对一个基于 GitHub 的项目进行黑客攻击,并将每个新功能放在一个单独的分支中。我从上游的master
分支开始,在一个分支feature1
上做了一些改动。问题是我忘记在实现 feature2
之前切换回 master
,所以我的树看起来像这样:
* 4a0d1ef - Added feature 3 (HEAD, feature3)
| * 685534d - Finished feature 2 (feature2)
| * ef31e06 - Started feature 2
| * cd2ebe3 - Finished feature 1 (feature1)
| * dbd1041 - Started feature 1
|/
* 9bfffc2 - Latest upstream change (origin/master, origin/HEAD, master)
(我实现了第三个功能,那时我记得对 master
进行更改。)我已经将所有三个功能作为单独的 pull 请求提交,所以我认为 rebase 不是可能的。有什么方法可以更改 feature2
分支,使其基于 master
而不是 feature1
分支?
最佳答案
git rebase --onto master feature1 feature2
master
是新基线,feature1
是旧基线,feature2
是您要更改的分支。
如果您的 pull 请求已被接受,您将无能为力。否则,进行 rebase 并进行新的 pull 请求。
关于git - 在共享更改后更改另一个分支所基于的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934245/