Git rebase vs重新创建分支并应用更改



我必须重新调整基础,然后压缩并合并我的更改。但是,重新部署基地需要花费太多的时间和精力。那么,如果我删除特性分支,从master创建一个新的分支,然后在顶部应用我的更改,并在一次提交中推送,而不是重基,会怎么样呢?

  1. 这和重订基地有什么不同吗?
  2. git(hub)的评审意见会被保留吗?

从技术角度来看,最终结果是相同的。Rebase只是一个聪明的工具,可以做你所描述的事情。

我过去曾多次诉诸于手动编辑,但通常情况下,熟练使用Vim或Emacs使用交互式重基是值得的。

rebase -i一开始看起来很神秘,特别是默认的文本编辑器通常是Vim;然而,这两个很好地结合在一起:如果你想重新排序提交,你只要点击j,直到你到达你想要移动的提交,dd删除行,然后再次点击j(或k向上),直到你找到你想要放它的地方,然后点击p粘贴它。

或者,假设你想把三个提交压缩成一个,使用jjj(或3j)到达你想要的行,然后使用cw(change word)s("squash"(参见文本文件顶部的说明)Escj.

Esc离开插入模式并返回"正常"模式;模式和.重复最后一个命令。

最新更新