我正在尝试将代码推送到我的远程分支,但始终收到此错误:
! [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 pull
,git pull --rebase
,git pull origin master
,git push --f
以及许多其他没有有用。
我还尝试了以下问题的答案,但没有成功:
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.
答案 0 :(得分:1)
问题已解决:
我添加了另一个更改并将其保存在本地环境中,并执行以下操作:
git stash
git pull origin <branch-name> -v
git add .
git commit
git push origin <branch-name>
答案 1 :(得分:0)
首先使用命令备份您的代码:git stash
。
然后使用命令git pull
或git pull upstream master
(如果您有任何上游设置)(我假设您有)。
将更改从主服务器合并到本地Git上游/主服务器合并。
git push
现在,如果您在浏览器中打开分支,您将看到消息“您的分支与主服务器同步”。 **它应始终保持同步。 **
现在使用命令git stash pop
取回更改并提交。
答案 2 :(得分:0)
根据您的描述,我假设您位于从master
派生的另一个分支上,并且master
设置为跟踪origin/master
。
尝试先切换回它:
git checkout master
git fetch
git pull origin master
您可能必须合并所做的更改,因为遥控器上已有新的提交,并且您身边还有新的东西。