繁体   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