提问人:Vastar 提问时间:11/3/2023 更新时间:11/3/2023 访问量:33
Git rebase 空分支
Git rebase empty branch
问:
假设我取了一个分支,称为 。main
BR1
我提交了 3 个更改(c1、c2、c3)。BR1
然后我取 的一个分支,称为 。BR1
BR2
main
------> BR1
(C1)(C2)(c3) ----->BR2
我现在已经决定,我实际上不想从分支,而是我想从......即我不想打开 c1、c2、c3BR2
BR1
BR2
main
BR2
`main` ------> `BR1` (c1) (c2) (c3)
------> `BR2`
我认为我只需要重新定位是对的吗?BR2
main
git switch main
git pull
git switch BR2
git rebase -i main
git push -f
我对此进行了测试,它起作用了,但我有点担心,因为交互式变基已经
pick c1
pick c2
pick c3
我不得不改成
drop c1
drop c2
drop c3
所以不确定是否会有什么东西坏了。
对我来说,另一个令人困惑的事情是它没有提交,即当我创建分支时,我没有对它进行提交,所以我什至不确定它是否有效 “空”分支变基?BR2
BR2
答:
1赞
Tim Biegeleisen
11/3/2023
#1
如果真的没有自己的提交,你可以简单地对分支进行硬重置:BR2
main
# from BR2
git reset --hard main
如果确实有自己的提交,那么你可以使用 rebase onto:BR2
# from BR2, again
git rebase --onto main c3
评论
0赞
Vastar
11/3/2023
谢谢 - 我知道在第一种情况下我把它弄得太复杂了......
评论