[英]push rejection after a git rebase
我正在开发一个名为auth
的功能分支,该分支是从master
分支分支出来的:
C1 (master)
\
C2-C3 (auth)
提交C3
,我将auth
分支推送到远程进行备份。 然后master
分支在远程上进行更新,历史记录如下所示:
C1-C4 (master)
\
C2-C3 (auth)
我将auth
分支重新部署到更新的master
分支,并且历史记录现在如下所示:
C1-C4 (master)
\
C2-C3 (auth)
然后,我在auth
分支上进行更多更改,进行C5
提交,并将auth
分支推送到远程,并且该推送被拒绝 ,并显示一条消息,即我在本地没有远程更新。 但是我知道,没有人将其推送到远程的auth
分支。 那么为什么会这样呢?
本文仅提供有关此类行为的简单说明:
不过要当心:如果将已重新建立基础的分支推送到远程(例如,出于备份目的),则需要使用-f选项强制对其进行下一次推送,因为您只是用新的替换了提交历史。
这就是为什么需要强制推送的原因,只有当您是唯一在此分支上工作的人时,这样做才可以。
如果没有,那么最好:
auth
之前将auth
分支重置为其状态 master
C5
如:
C1-----C4 (master)
\ \
C2-C3--M--C5 (auth)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.