有时候我会 checkout 一个测试分支来看看rebase / whatever是否有效,但是这会让我陷入这样一种情况:我有一些分支feat-234
,还有一些分支test
,我想用test替换feat-234
。
工作流程示例:
# on branch feat-234
git checkout -b test
git rebase main
# apply fixes required to make rebase work
此时,我想使用test
而不是feat-234
,因为我想做的事情已经成功了。
编辑1
我在分支test
上尝试执行以下操作:
git branch -D feat-234
,删除feat-234
- 第234号
我不认为这工作,虽然我认为我已经失去了所有的远程信息,是在feat-234
.
2条答案
按热度按时间omqzjyyz1#
在验证了
test
确实是您想要的特性分支之后:你可能还需要用
--force
来推送,因为你并不是简单地向分支添加提交。pnwntuvh2#
我想对您的工作流程提出一个小的调整,它可能比您建议的流程稍微干净一些:
1.当你想测试合并或重定基时,在你决定要保留分支之前,不要使用分支:
git switch --detach
#请注意,如果需要,可以添加起始提交或分支名称这就相当于像你一样转移到另一个
test
分支,但你只是还没有命名分支,如果你不喜欢结果,你可能永远也不会命名分支。这样你也不必在完成时删除任何测试分支。现在做你要做的测试,在你的例子中可能是git rebase main
。1.如果你喜欢这个结果,并希望你的当前分支为
feat-234
,只需:git switch -C feat-234
这将创建一个名为
feat-234
的新分支,就像-c
一样,但是如果分支已经存在,则用大写的-C
替换该分支,在本例中是这样的。远程跟踪信息也将保留。