繁体   English   中英

git rebase后推送拒绝

[英]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分支的历史记录

这就是为什么需要强制推送的原因,只有当您是唯一在此分支上工作的人时,这样做才可以。
如果没有,那么最好:

如:

C1-----C4      (master)
 \      \
  C2-C3--M--C5 (auth)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM