[英]Not able to push after git rebase
我是git的新手,我想使用git rebase功能合并我的一些提交。 但是,在运行rebase命令并合并提交之后,我无法推送更改。
在分支母版上您的分支和“来源/母版”已经分开,分别具有1和2个不同的提交。 (使用“ git pull”将远程分支合并到您的分支中)
无需提交,工作目录干净
以下是我正在关注的过程。
以下是git log --pretty = oneline命令的输出7014f2b4f01c40868f488b0cc28742d179b6c404第三次提交64504dfab9f37250760a0862199e0291fc1bce6e第二次提交e4869ace429dc8f60ec1862bbfb19330eefbfe6a第一次提交
第二条命令-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 pull
或git pull --rebase
。 这将在远程更改的基础上合并或更改本地更改。 之后,您应该可以顺利进行推送。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.