[英]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.