我有一个在Windows 2008服务器上运行的网站。我想知道使用git管理该网站的最佳方法是什么。理想情况下,我想要使用post-receive挂钩或类似的自动部署。
我确实有一台Linux服务器,我通常将其用作我的git origin服务器,所以如果它能让事情变得更容易,我可以利用它。通常我的收发后文件看起来像这样:
#!/bin/sh
GIT_WORK_TREE=/var/www/example.com git checkout -f
显然,如果没有其他原因,它将无法在Windows上正常运行。
我的Windows服务器支持FTP,但如果可能,我想使用更安全的东西。
答案 0 :(得分:0)
您可以在bash脚本中使用Windows路径(将在Windows上由msysgit解释)。
/C/my/path/...
你可以在这里看到一个fairly complex post-checkout
hook的例子(不是后收据,但它可以说明你可以在Windows上用bash钩子脚本做什么)。
“Combining mingw and git”中的更多详细信息。
实际上,Adam Rofer在评论中提及:
如果您使用普通的Windows共享,则可以通过以下路径语法访问git存储库:
//computername/folder/repo.git
假设文件夹是通过普通Windows文件夹共享可登录的共享文件夹。 Msysgit似乎对此很好。
答案 1 :(得分:0)
我最终使用这些说明来设置Cygwin + OpenSSH + Git,它让我大部分都在这里。
http://www.shannoncornish.com/blog/2009/04/git-server-windows-2008/
在收到后,由于某些权限问题我不得不删除第一行#!/bin/sh
,并且我在Cygwin中添加了一个符号链接到我的webroot,如下所示:
ln -s /cygdrive/c/inetpub/wwwroot /var/www
因此,收到后的文件看起来与以前非常相似但没有第一行
GIT_WORK_TREE=/var/www/example.com git checkout -f