【问题标题】:Pull not working - TortoiseGIT / Windows 7 / GIT on Debian + gitolite拉不工作 - TortoiseGIT / Windows 7 / GIT on Debian + gitolite
【发布时间】:2012-05-02 11:05:22
【问题描述】:

我有一个奇怪的问题。我使用 TortoiseGIT (Win7) 并且我的存储库放置在虚拟服务器 (Debian) 上,我使用 gitolite 和 SSH 密钥。

我可以 clone 将存储库添加到我的 PC,我可以运行 FetchPushCommitSync .. 一切,但是当尝试 Pull 时,来自服务器 Pushed 的更改由其他贡献者,出现以下错误:

git.exe pull -v --progress      "origin"
fatal: 'pull' appears to be a git command, but we were not
able to execute it. Maybe git-pull is broken?
git did not exit cleanly (exit code 128)

我不明白,为什么只是 pull 命令不起作用.. 感谢您的帮助。

我可以使用贡献的更改复制存储库.. 但不能Pull 我的 PC 上创建的存储库的更改。

【问题讨论】:

    标签: gitolite tortoisegit git-pull


    【解决方案1】:

    我看到您可以运行“git fetch”。如果你也可以运行“git merge”,运行“git fetch”后跟“git merge”的顺序将完成与“git pull”相同的事情。

    来源: http://git-scm.com/docs/git-pull

    【讨论】:

    • 运行 git config --global merge.defaultToUpstream true 以真正模仿 git pull 的行为
    【解决方案2】:

    在将 git Bash 可执行文件 sh.exe 更改为始终以管理员身份运行(以解决另一个问题)后,我遇到了同样的问题。然后它让 git 在某些情况下无法访问它并导致各种“也许 git-* 坏了?”错误。也许这可能会对某人有所帮助......

    【讨论】:

    • 感激不尽!这是一个非常不明显的解决方案,您的回答可能为我节省了几个小时。即使重新安装 msysgit 也无济于事,即使可执行文件本身已被删除,Windows 显然仍牢固地附加到该设置。
    • 我认为这个错误消息可能有很多父亲,但你的回答为我解决了这个问题。只是想确保这个答案能引起那些我自己和桑达尔陷入同一个陷阱的人的注意。此外,它发生在我的 Git 扩展中,而不是 TortoiseGit
    • 我的一直在工作,但突然停止了,但这就是问题所在。
    • 这对我有用,但有确定的解决方案吗?
    【解决方案3】:

    卸载旧 Git 并重新安装最新版本为我解决了这个问题。

    这是安装程序的链接 Link to get installers

    我的确切错误信息是

    C:\Program Files (x86)\Git/libexec/git-core\git-pull: line 304: exec: git-merge: not found
    fatal: 'pull' appears to be a git command, but we were not
    able to execute it. Maybe git-pull is broken?
    

    【讨论】:

      【解决方案4】:

      错误信息与 Git 有很大关联,来自help.c

      static const char bad_interpreter_advice[] =
        N_("'%s' appears to be a git command, but we were not\n"
        "able to execute it. Maybe git-%s is broken?");
      

      这类似于issue 40(另一个GUI,这里是terminal-ide)。

      在那种情况下,这是由于远程 Git 安装,它不完整

      (Comments 3 of issue 19)

      安装时也缺少 git-merge,可以用

      修复
      $> ln -s git git-merge
      

      system/bin/

      解决方案可能与您的情况完全相同不同,但可能与 Git 安装错误有关。

      【讨论】:

      • 感谢您的回复。我在我的虚拟服务器上做的唯一一件事就是组件更新(也许它有帮助)。现在它工作正常。我不知道是什么问题,但我真的很感谢你的帮助。我会保存你的答案以备将来使用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多