【问题标题】:Git commit syntax error results in error: failed to push some refsGit commit 语法错误导致错误:未能推送一些引用
【发布时间】:2015-03-18 17:32:33
【问题描述】:

我的一个提交消息不知何故损坏了,现在 git push 不起作用。错误消息(如下所示)没有帮助我弄清楚如何解决问题。

$ git push -f

37:42:语法错误:预期行尾但找到标识符。 (-2741)

错误:未能将一些引用推送到 [myrepo]

我不想覆盖我的本地版本,因为我本地机器上的代码比 repo 上的代码更新。如何恢复将最新代码从我的机器推送到 repo 的工作流程?

【问题讨论】:

  • 该消息不是来自git push,也不是 git 本身的任何部分。您是否有预推送挂钩,或者另一端是否有预接收或更新挂钩,这可能会导致这种情况? (错误消息前面缺少remote: 表明这是您自己的预推送挂钩。)
  • 谷歌搜索错误消息表明它来自 AppleScript。如果是这样,这可能与 git 无关。
  • 不知道有没有预推钩。我怎么知道?如何与 AppleScript 交互?

标签: git


【解决方案1】:

这是一个经常出现的问题:

git push github master
To git@github.com:Joey-project/project.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:Joey-project/project.git'

一般来说,必须使用以下命令的变体:

git fetch github; git merge github/master

我不完全确定它是否涵盖了所有内容,但也可以看看:Git non-fast-forward updates were rejected Merge the remote changes

【讨论】:

  • 这显然不是非快进推送的问题。此时使用合并将无济于事,并且可能会以不良方式影响 git 历史记录。
猜你喜欢
  • 2022-01-25
  • 2021-08-07
  • 2020-07-29
  • 2012-05-31
  • 2012-04-07
  • 1970-01-01
  • 2016-08-01
  • 1970-01-01
  • 2021-04-16
相关资源
最近更新 更多