在尝试解决我遇到的问题:managing website on windows using git时,我在Windows 2008服务器上安装了Cygwin openssh和Git for Windows(msysgit)(让我们称之为myserver
)。
我在cygwin路径/var/git/example.git
上设置了一个简单的git repo设置,它在Windows上映射到c:\cygwin\var\git\example.git
。
我的用户git
拥有repo文件夹的权限。
我可以使用Putty从我的XP工作站使用基于密钥的身份验证git
登录myserver
。我在选美中打开了钥匙。
我能够在Putty中使用cygwin样式路径,所以例如cd /var/git/example.git
让我进入我的裸仓库。
但是,当我使用Git Bash(MingW32)并试图这样做时,我遇到了问题:
git clone ssh://git@myserver/var/git/example.git
我收到回复:
Cloning into example...
fatal: '/var/git/example.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
当我尝试:
git clone ssh://git@myserver:c:/cygwin/var/git/example.git
它有效并且repo被克隆。
Cloning into example...
remote: Counting objects: 384, done.
remote: Compressing objects: 100% (288/288), done.
remote: Total 384 (delta 85), reused 359 (delta 73)
Receiving objects: 100% (384/384), 51.72 MiB | 201 KiB/s, done.
Resolving deltas: 100% (85/85), done.
但是,如果我尝试使用:
cd example
git push
失败了:
git: '/cygwin/var/git/example.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
那我怎么做这个工作所以我可以推/拉/克隆?理想情况下,我希望能够使用Cygwin路径样式,例如。 git clone ssh://git@myserver/var/git/example.git
。
答案 0 :(得分:1)
Dunno如果这个问题得到了解决,但我终于成功地将其付诸实践,并在另一个主题上分享了我的答案:
答案 1 :(得分:0)
我最近遇到过类似的问题,因为cygwin git没有正常工作。我安装了msysgit。 然后,为了工作,我需要从msysgit shell做我所有的git工作。根据我的经验,大多数东西都在dos shell下工作,但推动却没有。我建议重新开始并使用msysgit bash shell克隆一个新的repo并将该shell用于所有git命令,然后推送可能会起作用。
答案 2 :(得分:0)
我也有这个问题,因为我正在运行Putty,WinSCP,TortoiseSVN和TortoiseGIT,他们之间共享选美。
我通过将Putty \ plink.exe中的GIT_SSH更改为TortoiseSVN \ bin \ TortoisePlink.exe来修复此问题 例如
set GIT_SSH=C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe