簡體   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