Git Rebasing 2分支订单

时间:2018-06-06 01:14:51

标签: git rebase

我有2个分支

myBranch

devBranch

如果我想使用rebase从myBranch的devBranch ontop添加提交,那就是

git checkout myBranch

git rebase devBranch 

我知道如果我使用git merge,它会将devBranch合并到myBranch,我只是想知道这是否也适用于rebase。

2 个答案:

答案 0 :(得分:1)

会的。

您有3个选项(据我所知)来集成git分支:

  • git merge --no-ff始终创建合并提交,保留分支提交历史记录
  • git merge跳过创建合并提交(如果可能),这将不保留分支提交历史记录
  • git rebase不会创建合并提交,更改myBranch历史记录,保留myBranch历史记录(技术上),因为当您合并它时,它会在devBranch中显示(尽管在myBranch提交历史记录中应用devBranch时,提交是线性的,没有直接线索。

注意:由于您重新定义更改历史记录,请确保myBranch 未共享。因此,您可能还希望push --force

答案 1 :(得分:1)

  

init(Object)git merge这两个命令都旨在将更改从一个分支集成到另一个分支 - 它们只是以非常不同的方式进行。

git merge在git rebase之上创建合并提交以进行myBranch更改,而devBranhc将整个git rebase移至{{1}的开头有效地整合了myBranch中的所有新提交。

示例:

假设初始分支历史记录如下:

enter image description here

git merge devBranch

enter image description here

git rebase devBranhc enter image description here