目前有办法在Windows中托管共享Git存储库吗?我知道您可以在Linux中配置Git服务:
git daemon
是否有本机Windows选项,缺少共享文件夹,以托管Git服务?
编辑:我目前正在使用gg的cygwin安装来存储和使用Windows中的git存储库,但我想采取下一步托管存储库,其中包含可以提供对其他人的访问权限的服务.
以下是在Windows下运行git守护程序时可以遵循的一些步骤:
(先决条件:默认的Cygwin安装和支持git守护程序的git客户端)
第1步:打开一个bash shell
步骤2:在目录/ cygdrive/c/cygwin64/usr/local/bin /中,创建一个名为"gitd"的文件,其中包含以下内容:
#!/bin/bash /usr/bin/git daemon --reuseaddr --base-path=/git --export-all --verbose --enable=receive-pack
步骤3:从提升的提示符(即作为管理员)运行以下cygrunsrv命令以将脚本作为服务安装(注意:假设Cygwin安装在C:\ cygwin64):
cygrunsrv --install gitd \ --path c:/cygwin64/bin/bash.exe \ --args c:/cygwin64/usr/local/bin/gitd \ --desc "Git Daemon" \ --neverexits \ --shutdown
步骤4:运行以下命令以启动服务:
cygrunsrv --start gitd
你完成了.如果你想测试它,这里有一个快速而又脏的脚本,它表明你可以将git协议推送到你的本地机器:
#!/bin/bash echo "Creating main git repo ..." mkdir -p /git/testapp.git cd /git/testapp.git git init --bare touch git-daemon-export-ok echo "Creating local repo ..." cd mkdir testapp cd testapp git init echo "Creating test file ..." touch testfile git add -A git commit -m 'Test message' echo "Pushing master to main repo ..." git push git://localhost/testapp.git master
GitStack可能是您的最佳选择.在撰写本文时,它目前是免费的(最多2个用户)和开源.
这是Windows专用的git服务器:https://github.com/jakubgarfield/Bonobo-Git-Server/wiki
如果您在Windows环境中工作,您是否考虑过Mercurial?它是一个像Git这样的分布式版本控制系统,但与Windows整合得更加简洁.
如果cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
在运行命令后出现错误:
cygrunsrv --start gitd
这意味着您没有创建'base-path'文件夹.
创建文件夹'/ git'并重新运行该命令将解决此问题.
安装CygWin是一种矫枉过正,请阅读本教程,了解如何更快地和本机化:
http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP
我目前正在Windows上使用cygwin的ssh守护进程来提供服务并允许远程访问我的仓库.它工作得很好,我可以完全控制谁通过他们的ssh证书访问我的repo,并且即使在远程WAN和VPN链接上,性能也会激活.
另一个解决方案是使用Gitosis.它是一个使托管存储更容易的工具.