我所在的团队中有几个开发人员在BitBucket上使用git。我们都在dev
分支上工作,在发布之前不会推送到master
。
其中一个开发人员提交了错误的代码,不小心覆盖了我自己的代码,现在我正试图将正确的代码推回回购。我已经读了这个错误几天了,我不能再推送到回购,因为我得到了以下错误:
! [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
我本以为,如果我保持这个顺序,就不会收到合并冲突。我想我错了。再次感谢
< p >更新: 我应该补充说,我已经在谷歌和StackOverflow上寻找了几个小时,并遵循了不同的指示,但我仍然不能push
到dev
分支