【问题标题】:Git-receive-pack fatalGit-receive-pack 致命
【发布时间】:2019-04-27 10:13:00
【问题描述】:

我在 linux ssh 服务器后面设置了一个 git 存储库。存储库位于/home/git/mimpi.git。用户git的登录shell是/usr/bin/git-shell pub/priv ssh 密钥已在client/server 侧设置和测试。

现在我正在尝试使用git-receive-pack 验证设置,但使用fatal: bad argument 总是失败。

kalou@client:~$ ssh git@0 git-receive-pack mimpi.git
Enter passphrase for key '/home/kalou/.ssh/id_rsa':
fatal: bad argument

我试图在 mimpi.git 周围加上单引号,但没有成功 (https://github.com/dulwich/dulwich/issues/365)

我尝试运行strace -f sshd 来跟踪git-shell 的执行,但之后没有发现任何有意义的东西:

17882 execve("/usr/bin/git-shell", ["git-shell", "-c", "git-receive-pack /home/git/mimpi"...], [/* 9 vars */]) = 0

fatal: bad argument" ...之前

有什么想法吗?

【问题讨论】:

    标签: git git-shell


    【解决方案1】:

    git-shell 的取消引用非常有限。您应该只用单引号引用您的存储库:

    $ ssh git@0 "git-receive-pack 'mimpi.git'"
    

    我不确定你是否应该完全像这样使用 ssh,但至少在本地运行 git shell 可以这样:

    git shell -c "git-receive-pack '.'"
    ..lists references...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-24
      • 2012-07-30
      • 2013-03-13
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      相关资源
      最近更新 更多