是否重新分支当前分支或我们重新分支的分支

时间:2017-10-05 06:06:44

标签: git github version-control

我正在浏览git rebase和git merge的文档。我几乎理解了差异和变化,但我有一个疑问。 rebase是否影响当前分支或重新分支。

例如:

我从new-branch签出了一个分支master,并且masternew-checkout分支都进展了,现在在new-branch推送一些提交之后,我想要用原始大师来改变它。

我在my-branch

中运行了此命令
git rebase master

我做了变基,我知道git会在当前my-branch分支头部的顶部放置master的一些新提交。

现在我的问题是,如果我将强制推送my-branch,那么它会更改my-branch的代码,还是会更改远程master分支。

希望您理解我的问题,如果我的问题中有任何混淆,请告诉我。任何帮助将不胜感激。

1 个答案:

答案 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',如上图所示。