我所在的团队中有几个开发人员在Bitbucket上使用Git。我们都在一个开发分支上工作,在发布之前不催促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中预期的那样)。因此,我用提交前复制的备份替换了错误的代码,当我再次尝试推送时,我得到了相同的错误。

我该如何解决这个问题?

以下是我为了提交而运行的命令:

git pull remotename master:dev
git add --all
git commit -m "some message"
git pull remotename master:dev
git push remotename master:dev

我本以为,如果我保持这个顺序,就不会收到合并冲突。我想我错了。

我已经在谷歌和Stack Overflow上找了几个小时,并遵循了不同的指示,但我仍然无法将Git推送到开发分支。


当前回答

Git pull -rebase origin master Git push origin master


Git push -f origin master

警告git push -f origin master

强制推动现有的存储库,也删除以前的存储库,所以如果你不需要以前的版本,这可能是有帮助的

其他回答

这通常发生在回购包含一些不在本地的项时。因此,为了推动我们的更改,在这种情况下,我们需要集成远程更改,然后进行推送。

所以从远程创建一个拉

git pull origin master

然后把更改推到那个遥控器上

git push origin master

你可以试试这个:git拉origin master -rebase

如果你已经用ReadMe文件初始化了一个新的GitHub repo,并且还收到了一个致命的错误,像这样:

致命的:拒绝合并不相关的历史

然后你可能想试试下面的命令:

git pull origin master --allow-unrelated-histories

现在你可以尝试将你的项目推到你的新存储库:

git push origin [branch]

注意:如果你已经在Github中初始化了存储库,并且在本地提交,那么你需要使用上面建议的命令,第一个命令“git pull origin…”否则,您可以简单地键入以下命令:

git pull origin [branch]

希望对大家有帮助。

你可以使用

git pull --rebase <your_repository_name> <your_branch>

如果您在本地存储库(特别是README.md)中还没有注册一些更改,这将有所帮助。

你需要输入:

git pull
git fetch 
git merge

如果你使用git push origin master——force,你会遇到一个大问题。