我正在浏览git rebase和git合并的文档。我了解了差异,几乎可以重新审议,但是我有一个疑问。反弹会影响当前的分支或重新分支。
例如:
我有一个分支new-branch
从master
检查出来,master
和new-checkout
分支都进行了,现在在new-branch
中推出一些投入后,我想与Origin Master一起重新将其重新化。
我在 my-branch
git rebase master
我进行了重新攻击,我知道git会将my-branch
的一些新提交放在当前master
分支头的顶部。
现在,我的问题是,如果我要从my-branch
强制推动,那么它将更改my-branch
的代码,否则它将更改远程master
分支。
希望您理解我的问题,请让我知道我的问题是否有任何困惑。任何帮助将不胜感激。
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'
,如上图。