git:更新被拒绝,因为遥控器包含您本地没有的工作

我正在与一些开发人员合作,在BitBucket上使用git。我们都在dev分支机构工作,而不是master直到发布。


其中一个开发人员提交了错误的代码,意外地覆盖了我自己的代码,现在我正在尝试将正确的代码推回到repo。我已经阅读了这个错误几天了,我不能再推送回购,因为我收到以下错误:


 ! [rejected]        master -> dev (fetch first)

error: failed to push some refs to 'https://myusername@bitbucket.org/repo_user/repo_name.git'

hint: Updates were rejected because the remote contains work that you do

hint: not have locally. This is usually caused by another repository pushing

hint: to the same ref. You may want to first 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.

我遵循说明pull,然后我收到合并冲突。输入合并冲突的消息后,我的本地代码现在是其他开发人员意外上传的错误代码(正如预期的那样pull)。所以我用我在提交之前复制的备份替换了错误的代码,当我再次尝试推送时,我得到了同样的错误。


这真的令人沮丧,我真的想帮助我的团队并做出贡献,但我不能因为这个错误。有谁知道如何解决这个问题?我非常感谢任何帮助。


这些是我为了提交而运行的命令,如果它可以帮助任何人:


git pull remotename master:dev

git add --all

git commit -m "some message"

git pull remotename master:dev

git push remotename master:dev

我原以为如果我遵守这个命令,我就不会收到合并冲突。我想我错了。再次感谢


更新:我应该补充一点,我已经在Google和stackov


ITMISS
浏览 848回答 3
3回答

小怪兽爱吃肉

git pull <remote> master:dev将获取remote/master分支并将其合并到您的local/dev分支中。git pull <remote> dev将获取remote/dev分支,并将其合并到您当前的分支。我想你说冲突的提交是打开的remote/dev,所以这是你可能想要获取和合并的分支。在这种情况下,您实际上并没有将冲突合并到您的本地分支中,这有点奇怪,因为您说您在工作副本中看到了错误的代码。您可能想要检查发生了什么remote/master。

守着一只汪

在termial中使用此命令git push -f origin master

慕村9548890

当我们尝试推送到远程存储库但是在远程创建了一个尚未提取的新文件时,就会发生这种情况Readme。在那种情况下,错误说git拒绝更新因为我们没有在当地环境中使用更新的遥控器。所以先从遥控器拉出来git pull它将更新您的本地存储库并添加新Readme文件。然后将更新的更改推送到远程git push origin master
打开App,查看更多内容
随时随地看视频慕课网APP