无法将本地更改推送到现有的远程分支。

12 浏览
0 Comments

无法将本地更改推送到现有的远程分支。

之前我曾经顺利地推送到一个名为"my-remote"的远程分支。但是从今天开始,我无法推送并且遇到了不同的错误。

我首先遇到的错误是:

提示:更新被拒绝,因为一个已推送的分支 tip 落后于其远程分支的 tip。如果你不打算推送该分支,你可以指定要推送的分支,或者将 'push.default' 配置变量设置为 'current' 或 'upstream',只推送当前分支。

我进行了一些研究并运行了以下命令,希望能解决问题:

git config push.default tracking

运行完这个命令后,我再次运行推送命令:

git push https://github.com/someurl/mybranch.git

但是我得到了以下错误:

推送到非当前分支 'my-remote' 的远程 'https://github.com/someurl/mybranch.git',而没有告诉我要推送什么内容以更新哪个远程分支。

我尝试了以下命令:

git push master:my-remote https://github.com/someurl/mybranch.git

但是它告诉我:

致命:https://github.com/someurl/mybranch.git 中的 refspec 的远程部分不是有效的名称。

0
0 Comments

在使用git push命令时,有时候会遇到"Can't push local changes to an existing remote branch"的错误提示。这个问题的出现原因可能是因为本地分支与远程分支不一致,导致无法推送。解决这个问题的方法有以下几种:

1. 使用正确的语法进行推送:

   git push https://github.com/someurl/mybranch.git master:my-remote
   

这里的`master:my-remote`表示将本地的master分支推送到远程的my-remote分支。

2. 执行`git pull --rebase`命令来拉取并合并远程分支的更新,然后再进行推送。

3. 执行`git config --global push.default current`命令来配置git只推送当前分支。

4. 确保本地分支与远程分支的上游分支设置正确,可以执行以下命令来设置上游分支:

   git push -u https://github.com/someurl/mybranch.git my-remote:my-remote
   

如果以上方法都不能解决问题,可以尝试执行`git pull`命令来合并远程分支的更新。如果仍然无法解决问题,可能是由于之前的提交没有成功导致的,可以通过查看`git branch -a`命令的输出来确认当前的本地和远程分支情况。最后,确保所有的修改都已提交并推送到远程仓库,执行`git push`命令来完成推送。

总结起来,解决"Can't push local changes to an existing remote branch"问题的关键是确保本地分支与远程分支一致,并且执行正确的推送命令。如果仍然无法解决问题,可以尝试拉取并合并远程分支的更新,或者确认之前的提交是否成功。

0