无论我做什么,我都无法推送我的代码并不断收到相同的错误

时间:2019-01-28 01:28:36

标签: git github git-push

我正在尝试将代码推送到我的远程分支,但始终收到此错误:

! [rejected] (non-fast-forward)
error: failed to push some refs to 'git@github.com:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details

我认为这可能是由于我在github上的README.md中而不是通过本地环境修复了一个错字。

我在堆栈溢出中查找了所有内容,并尝试了他们针对该问题提到的命令,例如git pullgit pull --rebasegit pull origin mastergit push --f以及许多其他没有有用。

我还尝试了以下问题的答案,但没有成功:

Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g [duplicate]

Cannot push to GitHub - keeps saying need merge

Git pull a certain branch from GitHub

我也尝试了git pull upstream master并收到以下错误消息:

fatal: 'upstream' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

3 个答案:

答案 0 :(得分:1)

问题已解决:

我添加了另一个更改并将其保存在本地环境中,并执行以下操作:

git stash

git pull origin <branch-name> -v

git add .

git commit

git push origin <branch-name>

答案 1 :(得分:0)

首先使用命令备份您的代码:git stash

然后使用命令git pullgit pull upstream master(如果您有任何上游设置)(我假设您有)。

将更改从主服务器合并到本地Git上游/主服务器合并。

git push

现在,如果您在浏览器中打开分支,您将看到消息“您的分支与主服务器同步”。 **它应始终保持同步。 **

现在使用命令git stash pop取回更改并提交。

答案 2 :(得分:0)

根据您的描述,我假设您位于从master派生的另一个分支上,并且master设置为跟踪origin/master

尝试先切换回它:

git checkout master
git fetch
git pull origin master

您可能必须合并所做的更改,因为遥控器上已有新的提交,并且您身边还有新的东西。