在本地网络上运行git服务器

23

我有一家小公司,为了管理项目,我想在公司内部运行 git 服务器 (本地)。

我该如何在我们的本地 Windows 服务器上安装 git 服务器?

我希望我的程序员能够使用 git 命令连接到这个服务器。


3
你读过手册了吗?http://git-scm.com/book/zh/v2/Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A-%E8%BE%93%E5%87%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%92%8C%E5%AE%A2%E6%88%B7%E7%AB%AF - Daniel
3
谢谢Daniel,但这份手册是针对Linux的,我想在Windows Server 2008上安装。 - MajAfy
1
对于Windows系统来说,安装与你的团队使用同一Git客户端即可轻松实现。这样你就可以开始愉快地工作了。 - Daniel
git客户端是跨平台的,可以在Linux和Windows上运行。如果您在stackoverflow和手册中搜索,您会发现命令git daemon,使用它来托管您的git服务器,或者有一些项目,如gitlabstash,可以提供类似github的界面。 - First Zero
1个回答

37

我假设您已经设置了本地Git。在互联网上有很多资源可以帮助您完成这个过程,包括这篇关于Windows Git工具的博客文章。

整个技巧的工作原理如下 - 将包含共享Git存储库的文件夹公开为Windows网络共享。

第一步 - 空白Git存储库

解决方案中有两个扭曲之处 - 其中一个是 - 共享存储库需要使用--bare标志初始化。

enter image description here

第二步 - Windows共享

第二步是将包含新创建仓库的文件夹公开为Windows共享。 您还可以使用标准的Windows机制来控制和限制对该文件夹的访问权限(确保您为开发人员提供了写入权限!)。

第三步 - 映射共享为网络驱动器

这一步也许不是必需的,但如果不这样做,我就无法使它正常工作,因此第二个扭曲就来了。 为了让您的开发人员能够通过Git访问共享文件夹,他们需要将其映射为网络驱动器。

enter image description here

第四步 - 在Git中添加远程存储库并编写代码

最后一步是标准的Git过程 - 团队中的每个开发人员都需要将位于新创建的网络驱动器下的存储库作为远程添加。 注意在映射驱动器名称前面使用“file:///”前缀。

enter image description here


8
终于找到了一个让我成功使用GIT的教程!另外,需要补充的是,你不必映射实际的代码库文件夹,你可以映射到驱动器根目录,并访问到代码库子文件夹,例如 file:///n:/subfolder/subsubfolder 等,也可以使用 \ 来转义文件夹名称中的空格,例如 as file:///n:/sub\ folder/sub\ sub\ folder。此外,这种方法似乎只在 MINGW 中有效,在 CMD.exe 中无法使用 cd 命令进入映射的网络驱动器。 - Dan
当两个用户同时尝试推送时会发生什么? - Robert Ivanc
3
然后宇宙爆炸了。@RobertIvanc - Black
1
我可以在没有网络驱动器映射的情况下使用它,只需使用 git remote add origin file:///c:/gitrepo/projectname 即可,然后一切都很好,非常感谢~ - Ariex
我需要在服务器和开发电脑上安装哪些软件? - GuidoG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接