【问题标题】:unable to push back to origin无法推回原点
【发布时间】:2019-12-10 20:56:15
【问题描述】:

我正在处理我的项目并成功将其推送到 GitHub。一切都很顺利,不知何故我把项目搞砸了,我删除了本地版本,然后去 GitHub 并使用download 图标下载整个项目。

在完成项目并进行少量更改后,当我尝试将其推送到原始项目时,它向我显示以下错误。

To https://gitlab.rz.uni-bamberg.de/abc/def/bla.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://gitlab.rz.uni-bamberg.de/abc/def/bla.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.

经过一些研究,我按照以下顺序显示了上述错误。

git init
git add . 
git commit -m "changes" 
git remote add origin https://gitlab.rz.uni-bamberg.de/abc/def/bla.git
git push -u origin master

请帮我看看我现在如何上传这个。

【问题讨论】:

标签: git github push


【解决方案1】:

您收到此错误是因为该错误试图告诉您:“远程分支具有本地分支没有的提交”。

根据您显示的命令,现在您还拥有远程没有的本地提交。如果您执行git pull --rebase,它将为您对本地分支进行排序,然后推送将正常工作。

如果您遇到合并冲突,这意味着远程提交与您的本地提交编辑了相同的文件/行,您将必须解决这些冲突或撤消所有工作 -> 然后拉 -> 然后重做您的工作。

【讨论】:

  • 拥有 origin 没有的本地提交是正常的。错误消息很明确:更新被拒绝,因为远程包含您在本地没有的工作。
  • @Poutrathor 你会推荐什么?
  • git pull --rebase origin master 将在上游获取您没有的工作,并在其之上重建您的提交,并且应该可以解决问题。建议是合理的,只是词混杂了。相反,它应该是:“远程提交了你本地没有的”
  • @Poutrathor 是这样的:本地有远程没有的提交,远程有本地没有的提交。我的答案是修复。
  • 他收到此错误 only 因为 origin 有本地未知的提交。重要的是,恕我直言,做出区分。也许当前的答案可以改写?
猜你喜欢
  • 2012-06-21
  • 2015-12-24
  • 2014-04-17
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 2021-07-20
  • 2016-10-20
相关资源
最近更新 更多