Github私有linux服务器:推送master时出错

时间:2015-11-12 23:59:40

标签: git atlassian-sourcetree

很抱歉,如果我无法解释发生了什么,因为我不知道发生了什么。每次我尝试将主分支推送到我的服务器时,它都会给我这个错误消息。

Error

1 个答案:

答案 0 :(得分:0)

远程主分支与本地主分支之间存在冲突,通常是由于在当前HEAD更改之前推送到远程主控的更改。

示例:

  • 远程,您都有更改ID 1abcde
  • 有人提交2ef1234(其父级为1abcde)并推送它。
  • 远程HEAD现在为2ef1234
  • 您使用356789a的父级提交1abcde(因为您尚未提取)。您当地的HEAD现在是356789a
  • 您尝试将356789a推送到遥控器。
  • 您收到此错误,因为它正在尝试制作1abcde->356789a的历史记录,但已有1abcde->2ef1234的历史记录。

解决方案:按照它说的做git pull(或者使用Sourcetree的同步功能,因为您也使用Sourcetree标记了这个功能,请参阅https://www.atlassian.com/git/tutorials/syncing处的文档了解更多信息),然后重新推送。

如果你进行了拉动,git可以正确地构建一个看起来像1abcde->2ef1234->356789a的历史记录,因为它有你的更改以及远程更改,并且可以正确排列它们。但请注意,如果远程更改已编辑了您已编辑的文件,则现在出现合并冲突,必须相应地解决。