尽管从远程主机拔出并被告知一切都是最新的,但我无法推送到远程主机,因为当前分支位于遥控器的尖端后面。什么?
$ git pull origin master
From https://github.com
* branch master -> FETCH_HEAD
Already up-to-date.
$ git push origin master
To https://github.com
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
答案 0 :(得分:2)
你可能在另一个分支上。 git checkout master
然后尝试。
答案 1 :(得分:0)
您可能在另一个分支上。您可能应该备份所做的更改。由于人们丢失了更改,因此他们需要始终保存到本地存储库,然后从本地存储库保存到远程存储库。合并是从目标分支内部完成的,这要求您在与master合并之前已将工作保存到源dev分支。
是git命令 [您需要更改的内容]
首先知道您在哪个分支上。
然后,您需要将代码检入Dev分支,以免丢失它。
现在,您的本地存储库和远程存储库都处于正常状态...。如果要更新Master分支,则可以安全地检出该分支并从master内部进行合并。如果您正在执行拉取请求,则可能要从master创建一个新分支并与之合并。然后在该新分支上执行拉取请求。
但是,如果您不使用 pull请求,而是想直接将master更新到您的dev分支。首先,您签出主人。
git checkout master
这样会删除您的本地代码,但是您已经将其保存在本地和远程服务器上了。
git merge [dev分支]
这会将您的开发代码合并到master中。如果存在任何冲突,请打开发生冲突的文件并搜索“ >>>”字符串以查看冲突的位置。通过更正代码来解决冲突。然后在本地检查更改,然后从本地存储库检查到远程存储库。
git状态
看看有什么变化