当尝试推送远程分支时,“非快进更新被拒绝”

时间:2014-03-31 00:43:30

标签: git version-control

我在projects/my_project

中有一个远程项目

在my_project中的本地主持人

尝试使用git push origin master

推送更改时

这个错误出现在我身上

To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

我需要推送到my_project而不是项目。

3 个答案:

答案 0 :(得分:1)

您有上游更改。您有两种选择:

  • 执行git pull origin master,解决所有冲突,然后重新推送
  • 执行git push -f origin master。这将完全覆盖远程存储库中的历史记录,因此除非您完全确定,否则请不要这样做。

答案 1 :(得分:1)

除非您尝试推送到远程主分支,否则不应指定“master”;

尝试:

git push --set-upstream项目my_project

这假设你说的是“projects / my_project” 一个名为“my_project”的分支,名为“projects”。

--set-upstream设置当前的“my_project”分支以跟踪远程“projects / my_project”分支,因此您不需要每次都明确指定它。

答案 2 :(得分:0)

根据我的经验,出现此问题的原因是服务器上的更改尚未提取到您的计算机。尝试拉动,解决任何冲突(如果有的话),然后再次提交和推送。

如果你是git的新手,我也会建议使用像SourceTree这样的东西。

以下是链接:http://www.sourcetreeapp.com/

干杯,