我必须重新调整基础,然后压缩并合并我的更改。但是,重新部署基地需要花费太多的时间和精力。那么,如果我删除特性分支,从master创建一个新的分支,然后在顶部应用我的更改,并在一次提交中推送,而不是重基,会怎么样呢?
- 这和重订基地有什么不同吗?
- git(hub)的评审意见会被保留吗?
从技术角度来看,最终结果是相同的。Rebase只是一个聪明的工具,可以做你所描述的事情。
我过去曾多次诉诸于手动编辑,但通常情况下,熟练使用Vim或Emacs使用交互式重基是值得的。
rebase -i
一开始看起来很神秘,特别是默认的文本编辑器通常是Vim;然而,这两个很好地结合在一起:如果你想重新排序提交,你只要点击j
,直到你到达你想要移动的提交,dd
删除行,然后再次点击j
(或k
向上),直到你找到你想要放它的地方,然后点击p
粘贴它。
或者,假设你想把三个提交压缩成一个,使用jjj
(或3j
)到达你想要的行,然后使用cw
(change word)s
("squash"(参见文本文件顶部的说明)Esc
j
.
Esc离开插入模式并返回"正常"模式;模式和.
重复最后一个命令。