Cygwin / Git / Gitosis无法推送新的存储库

时间:2009-11-08 19:24:19

标签: git cygwin gitosis

我最近在我的Windows Server 2003机器上设置了cygwin,git和gitosis,但我遇到了麻烦。我已经遵循了我能在信中找到的每个教程,并确认当我推送gitosis-admin存储库时,我的git帐户的authorized_keys表正在更新。但是,当涉及到创建新的存储库时,我似乎陷入困境。

我见过很多推荐以下代码的教程(显然回购名称有所改变),在git bash和windows命令行中尝试过:

mkdir free_monkey
cd free_monkey
git init
touch README
git add .
git commit -m "Added blank readme"
git remote add origin git@my_server:free_monkey.git
git push origin master

当我执行最后一行时(无论我发送的是什么),它都说“远程端意外挂断”: $ git push -v origin master:refs / heads / master 推送到git @ my_server:free_monkey.git 致命:远程端意外挂断

我的gitosis.conf文件如下所示:

[gitosis]
loglevel = DEBUG

[group gitosis-admin]
writable = gitosis-admin free_monkey.git free_monkey
members = git@my_server @all

如果我错过了帮助我调试此操作所需的任何信息,请告诉我。谢谢!

另一件令我担忧的事情:

$ ssh git@my_server git 
DEBUG:gitosis.serve.main:Got command 'git' 
ERROR:gitosis.serve.main:Unknown command denied 

那可能是问题吗?如果是这样,我该如何解决?

2 个答案:

答案 0 :(得分:0)

你可能在第一次或其他什么时候打错了。尝试删除原点并重新添加:

git rm origin
git remote add origin git@my_server:free_monkey.git

然后再试一次。值得一试。

答案 1 :(得分:0)

好的,似乎“未知命令被拒绝”错误是一个红色的鲱鱼。 Gitosis仅允许出于安全原因在git推/拉过程中实际发送的命令,因此“git”不是已知的命令。

我继续收到同样的错误,但偶然发现了对另一个论坛中的authorized_keys文件的引用 - 有重复的密钥完全破坏了authorized_keys文件。果然,那是我的问题。希望这可以帮助那些人。

要真正诊断此问题,请按以下步骤操作:

  1. cat您正在使用的用户访问git存储库的authorized_keys文件(我的是git @ my_server,所以我查看了/home/git/.ssh/authorized_keys)。确保每个公钥只有一次。
  2. 我遇到了第二个问题,那就是我试图在TortoiseGit和Pageant中使用多个ppk。 Pageant似乎忽略了TortoiseGit更改密钥的请求;右键单击任务栏中的Pageant(戴帽子的计算机)和查看键,然后删除所有与您要使用的公钥不匹配的键(可能都是这些键)。
  3. 我现在可以通过SSH在我的服务器上运行gitosis,可通过TortoiseGit访问。