我正在浏览git rebase和git merge的文档。我几乎理解了差异和变化,但我有一个疑问。 rebase是否影响当前分支或重新分支。
例如:
我从new-branch
签出了一个分支master
,并且master
和new-checkout
分支都进展了,现在在new-branch
推送一些提交之后,我想要用原始大师来改变它。
我在my-branch
git rebase master
我做了变基,我知道git会在当前my-branch
分支头部的顶部放置master
的一些新提交。
现在我的问题是,如果我将强制推送my-branch
,那么它会更改my-branch
的代码,还是会更改远程master
分支。
希望您理解我的问题,如果我的问题中有任何混淆,请告诉我。任何帮助将不胜感激。
答案 0 :(得分:1)
git rebase master
将更改new-branch
上的提交历史记录。
如下图所示,假设原始提交历史记录为:
A---B---C---G---H master
\
D---E---F my-branch
执行git rebase master
后,它会将更改从my-branch
重新绑定到master
分支。提交历史记录如下:
A---B---C---G---H---D'---E'---F' my-branch
|
master
如果您强制将my-branch
推送到远程(git push -f origin my-branch
),则远程my-branch
会将版本更改为F'
,如上图所示。