试图理解" Git Rebase"

时间:2014-07-09 10:11:47

标签: git github rebase

在什么情况下我必须使用 Git Rebase

我试图在过去三年中理解这一点,但我无法理解。已经阅读了很多博客,stackoverflow的Q& A关于git rebase,但我还不清楚。我知道,这可能是重复的问题,但我需要准确理解git rebase是什么以及何时使用它。

任何人,请给我清楚的解释。我在其中一个博客中阅读了以下几行

"在Git中,有两种主要方法可以将更改从一个分支集成到另一个分支:合并和rebase。"

我知道如何处理 merge 命令。但是, rebase 如何替换merge命令?通过解释这是rebase如何替换merge命令,给我任何命令流。我想我可以这样理解。

抱歉我的英语不好.. 在此先感谢。

2 个答案:

答案 0 :(得分:0)

This互动教程非常好,尝试做一些rebase课程。我看到很少有人真正理解变相的学习。

Rebase不会取代合并,合并就是通过“加入”来创建新的提交。 Rebase通常是在树周围移动提交,切换提交顺序和那些东西。

答案 1 :(得分:0)

根据我的理解,这就是rebase的作用。

情景说明:
1)我目前在分公司大师。
2)从主人创建分支A. 3)另外,从主人创建分支B. 4)我让名为A的开发人员在分支A上工作.Dev A修改分支A中的代码 5)我让名为B的开发人员在分支B上工作.Dev B修改分支B中的代码。
6)现在,Dev B认为他想要将Dev A的代码合并到他自己的分支B中。(而不是将checkout分支到分支A,从分支A中提取代码,再次检出分支B并执行git合并分支A.这就是git merge所做的事情)。
7)但是,当Dev B通过在他自己的分支中运行“ git rebase branch A ”时,分支B的头部通过将分支A与分支B合并而位于顶部。 8)现在,如果Dev A认为他想要合并Dev B的代码。他必须做“ git rebase branch B ”。现在,通过将B的代码(已经与分支A合并)合并到分支A,分支B的头部将位于头顶。 9)现在,提交版本的流程将是直线。这很干净!

如果我错了,请纠正我。有兴趣了解更多关于GIT的信息..

由于