簡體   English   中英

git rebase后無法推送

[英]Not able to push after git rebase

我是git的新手,我想使用git rebase功能合並我的一些提交。 但是,在運行rebase命令並合並提交之后,我無法推送更改。

在分支母版上您的分支和“來源/母版”已經分開,分別具有1和2個不同的提交。 (使用“ git pull”將遠程分支合並到您的分支中)

無需提交,工作目錄干凈

以下是我正在關注的過程。

  1. 以下是git log --pretty = oneline命令的輸出7014f2b4f01c40868f488b0cc28742d179b6c404第三次提交64504dfab9f37250760a0862199e0291fc1bce6e第二次提交e4869ace429dc8f60ec1862bbfb19330eefbfe6a第一次提交

  2. 第二條命令-git rebase -i HEAD〜2
    選擇 64504df第二次提交
    壁球 7014f2b第三次提交
    重新設定基准后,我將獲得以下輸出,但此后將無法推送更改。

    [HEAD 35b14b0分離頭] Second Commit更改了1個文件,3個插入(+),1個刪除(-)成功地重新建立了基准並更新了refs / heads / master。

git log --oneline --graph --decorate HEAD ... @ {u}的輸出

* 454f5f4 (HEAD, master) Second Commit 
* 7014f2b (origin/master) Third Commit 
* 64504df Second Commit 

請不要將所有更改也都推送到github。

看起來您已經將兩個更改推到了原點。

現在,rebase丟棄了最后兩個提交,並將它們替換為單個合並的提交。

因此分支“改道了”。 遠程存儲庫包含兩個提交,而本地存儲庫包含一個提交。 通常,只有添加新的提交時,您才能夠推送。 因此git抱怨。

一般規則: 永遠不要重新確定已經推送的提交。

如果您只是想推送更改,請使用git pullgit pull --rebase 這將在遠程更改的基礎上合並或更改本地更改。 之后,您應該可以順利進行推送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM