【问题标题】:Git Issue using Cygwin使用 Cygwin 的 Git 问题
【发布时间】:2017-06-27 21:05:03
【问题描述】:

我使用 cygwin 和 mintty 终端来模拟 windows 下的 linux 命令行环境。这真的很有帮助,因为我可以使用例如通过命令行使用别名的 git。

但我发现通过 cygwin 使用 GIT 存在问题。 当我尝试使用 'git rebase -i' 重新排序我的提交时,我总是收到以下错误消息:'/usr/libexec/git-core/git-rebase--interactive: line 135: 1 + : syntax error: operand预期(错误标记是“+”)'

我在哪个项目中使用这个命令并不重要,我尝试了我的一个 Android 项目和一个不同的 Java 项目。所以它似乎与源代码本身无关。另一个终端似乎也没有效果。 我尝试了 Cygwin Mintty 终端和 windows powershell。问题出现 在两个终端。

有人知道可能是什么问题吗?

【问题讨论】:

  • 你用的是什么版本的git?
  • 'git --version' 返回 'git version 2.12.2'

标签: git powershell cygwin mintty


【解决方案1】:

我认为罪魁祸首是这条线:total=$(($new_count + $(git stripspace --strip-comments <"$todo" | wc -l)))$(( 运算符,根据我的经验,如果它没有用空格分隔,可能会很棘手。如果是这种情况,我认为你应该编辑该行(这样你就不会等待较新版本的 git 已更正)在 $(( 和 $new_count.... 关闭时有一个空格。换句话说,将其替换为:total=$(( $new_count + $(git stripspace --strip-comments <"$todo" | wc -l) )) . 在我的 git for windows 中,路径在:<git_installation_dir>/mingw64/libexec/git-core/git-rebase--interactive。让我知道它是怎么回事,以便我可以向 git 社区发送补丁。

【讨论】:

  • 感谢您的建议,但更改并不能解决问题。但我想改变它是正确的,因为在第 133 行 $( 也用空格分隔。对我来说,文件路径是 '/usr/libexec/git-core/git-rebase--interactive' 编辑:可能我有重新启动以使您的建议生效,我将对其进行测试。
  • 所以我尝试重新启动,不幸的是问题仍然存在。我认为这与“wc -l”命令有关。但我不知道到底是什么问题。
  • 然后尝试直接向 git 社区发送邮件。无需在邮件列表上注册即可向他们发送问题。
  • 在我尝试更深入地调试之前,我可以为他们提供更多信息。可能 $todo 变量是空的或类似的东西。如果我或邮件列表中的人可以找到该问题的根源,我将在此处发布。
猜你喜欢
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
相关资源
最近更新 更多