在远程Windows Server上设置Git存储库?


22

我有一个Windows服务器,可以通过远程桌面连接等通过Internet本地或远程访问。

我想建立一个git存储库(类似于Subversion中的“ trunk”),其中可以包含一系列用于多个项目的存储库。

有人知道我该怎么做吗?如果可能,我想使用GUI进行操作。我已经遵循了《Git Bash教程》,但它的执行过程非常漫长,并不完全符合我的要求。

我正在使用一个名为MSYSGIT的Git客户端。使用此功能,我只希望能够设置远程存储库并开始提交源代码。

任何帮助将不胜感激!

Answers:


13

这些天来,有一个“智能HTTP”上传功能,甚至可以取代SSH访问。不再需要生成专用密钥,并且安装应该更容易,因为服务器组件可以用任何选择的语言编写:

如果全部失败,您还可以选择设置Apache服务器,并使用标准的git-http-backendCGI二进制文件,请参见:在Windows上使用Apache设置git-http-backend的步骤是什么?


请注意,“这些日子”是2年前。作为最佳答案,我很想知道您的想法是否有变化?
RyanW 2012年

好吧,Linux都同样支持这两种,而且两者都将保留。我现在对Windows的情况了解不多*,除此之外,我希望HTTP支持成为首选解决方案。*由于“这些天”,我主要使用Mac / Linux;)
vdboor 2012年

嗨@vdboor我有一个问题。如果我们使用的是ssh,我们可以进行公共密钥身份验证,这样我们每次想拉或推时就不需要发送密码。此单一登录功能在Smart Http方法中可用吗?我的意思是为服务器的所有推/拉操作指定一次密码。
阿米尔·侯赛因(AmirHossein)


2

您可以考虑使用Cygwin + SSH + Gitosis来满足这些需求,但是不幸的是,这并不是简单的点击设置过程。我已经写了一篇关于我最近的经历(包括设置过程)的详细博客文章

至于您对这主要是图形化体验的要求,我建议您所有的客户端系统都安装TortoiseGit。这样可以避免使用命令行进行添加,提交,推/拉等操作。


最好搭配使用哪个SSH客户端选项?-TortoisePLink之一还是OpenSSH?
Goober

两者都可以使用,但是除非有其他理由,否则最好将openSSH与openSSH配合使用-否则,请坚持默认设置。
Mark Embling,2009年

1

您可以在Cygwin下进行设置:

如果您使用cygwin,则只能在服务器上这样做,并在cygwin下运行git-daemon,但仍在客户端上使用msysgit。

从cygwin使git正常工作


应该注意的是,git-daemon仅提供使用git://协议的访问(不是ssh或文件),并且是只读的。要提供写访问权限,必须通过ssh或文件系统(或对其进行抽象)来完成。
Mark Embling,2009年




1

以下是一些选项:


我不会仅仅因为您透露了自己的参与而对此表示down贬。很好,但是请注意,如果您要做的只是发布指向该产品的链接,则您可能会因为垃圾邮件而被停职。除此之外-欢迎使用Server Fault,我们祝您旅途愉快:-)!
本·皮尔布罗

我是StackOverflow的非常活跃的用户-但是,这是我对ServerFault的第一篇文章。感谢您的欢迎:)
莉莉丝·利维(Lilith River)

1
它不是唯一的GUI方法-还有gitstack.com(我没有参与该项目,也没有尝试过)。可能还会有其他人。
rjmunro

请注意,这个答案已有一年多了,而gitstack才在几个月前推出。
莉莉丝·里弗

Windows上的胡扯环境。...可怜的Windows用户需要为一堆废话付钱。:)使用bonobogitserver.com代替。
阿米尔·侯赛因(AmirHossein)



0

我正在评估的是GitStack

在我也开始这个过程(在Windows上设置Git服务器)的过程中,这一讨论已经进行了一年多,我想我应该把它添加进来。



0

Gitlab是一个很好的解决方案,它包含一个基于Web的界面。使它在您的要求范围内工作。

  1. 在Windows服务器上打开hyperV
  2. 启动Linux VM
  3. 在VM上安装Gitlab

Gitlab需要2 gig公羊,这不是一个合理的想法。
阿米尔·侯赛因

0

如果您有5到10个开发人员团队,建议您将ssh与vanilla git一起使用。易于设置,并且拥有ssh保护传输中的数据。

如果您有多个团队,并且营业额良好,则假设您正在运行Windows Active Directory,则可能需要考虑使用Atlassian bitbucket。我们主要使用bitbucket来满足以下要求:1.将git存储库作为项目进行管理,我们可以在项目级别提供自助服务访问控制。2. LDAP登录与AD组同步的集成3.很少的管理工作


不要在Windows上使用香草ssh。废话
阿米尔·侯赛因(AmirHossein)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.