如何在Windows上运行Git服务器?

时间:2012-10-28 20:27:50

标签: windows git

如何在Windows上共享Git仓库? “正确”的方式似乎是运行“git-daemon”(特定于unix)或运行ssh(特定于unix)或为Git运行http前端。如果我只有两个Windows机箱并且不想安装Unix只是为了运行Git,那么在两个盒子之间共享回购的最佳方式是什么?

5 个答案:

答案 0 :(得分:8)

如果两台计算机位于同一个LAN中,则可以将repo放在通过常规Windows网络协议(SMB)共享的目录中。

(免责声明:我不确定是否会锁定SMB的语义,因此可能会同时写入repo会损坏它。然后,同样可能适用于Unix。)

答案 1 :(得分:4)

如果您想要最简单的方法,则必须查看SCM-manager

  

分享和管理您的Git,Mercurial和Subversion的最简单方法   存储库通过http。

为了使http-served存储库具有良好的Web-frontend和管理,你必须拥有only Java(Java,而不是JRE)

答案 2 :(得分:3)

另一种替代运行虚拟机的方法是运行Cygwin中的所有Unix内容。使用Cygwin,您可以在Windows机器和gitolite上设置ssh服务器。它可以在您的硬件而不是虚拟机上本机运行。

Cygwin安装非常简单。它只是一个可执行文件,可以下载您需要的软件包。保持安装程序,因为它是您在Cygwin中添加和删除软件所使用的。

在Cygwin上运行gitolite并不是那么简单,只是谷歌“cygwin gitolilte”,你会找到很多教程。

答案 3 :(得分:1)

Git是一个分布式版本控制系统。因此,在大多数情况下,您不需要专用程序来提供存储库中的内容,您只需要一种从两台计算机访问存储库的方法。一种方法是像@thomas建议的那样,将存储库的克隆放在共享的网络位置。

我在过去作为一名破产研究生获得成功的另一种方式是使用Dropbox作为“主”存储库。基本上,你将你的存储库git克隆到你的Dropbox目录中,然后你可以在两台机器上设置Git来从Dropbox存储库中推/拉。 Dropbox将在后台执行同步魔术。这仅适用于温和活跃的存储库。

答案 4 :(得分:-1)

我过去所做的只是通过虚拟机在一台机器上运行一个带有小型Linux客户端的虚拟机。您只需要移植ssh端口,就可以了 - 不需要将网络配置为虚拟机上复杂的东西。

这将允许您运行像gitolite这样的东西来管理用户。

出于这个原因和其他许多原因,我已经切换到为我的所有机器运行Linux,并且当我需要进行Windows开发时,只需在VM中运行Windows。您可以在Linux上运行的许多优质服务都可以通过客户操作系统更轻松地连接到其他方式。

如果您只有2台Windows机器,则可以向遥控器添加网址,但要确保通过文件协议完成。即:

 git remote add origin file:///\\some-server/share/repo.git

有些人声称如果你只使用一个路径,git会尝试在2个回购之间建立硬链接。 AFAIK,msysgit不会这样做,你可以使用没有文件协议的路径:

 git remote add origin /z/somepath/repo.git

如果z映射到另一台计算机上的共享。我不需要在你的场景中运行服务器。