在Windows上使用msysgit设置Git服务器[关闭]


163

我和我的朋友们正在尝试使用教程Git Server:Windows上的Gitosis和Cygwin来为Windows设置Git ,但是我们一直遇到问题。

使用msysgit的 Windows的“ Setup Git Server”指南是什么样的?

上面的教程中有一条评论建议无法使用msysgit来完成,因为gitosis需要使用SSH服务器和Bash?什么是分步指南(因为没有可用的指南)?

  1. 安装mysisgit


* Windows开发人员的Git。3部分,这是第一个部分的链接。好一个!* Windows上的Git 图解指南 * Git扩展(视频)
Rook

在尝试(并失败)上述方法后,按照计算机语言学家的建议在windowsgit.com上使用了该工具。这很简单,而且很有效。IMO值得9美元。
Edward Anderson

您可以尝试Git Candy,这是一个基于ASP.NET MVC的Git平台。来源:github.com/Aimeast/GitCandy,演示于:git.53wb.com
Aimeast 2014年

Answers:


79

我找到了这篇文章,并且刚刚在我的博客上发布了一些可能有所帮助的内容。

请参阅在Windows上使用copSSH设置Msysgit服务器。很长,但是我已经在Windows 7 Ultimate x64上成功完成了此工作。


5
记录下来,据我所知,在Tim的说明中的第5.5点,您需要在#之前而不是之后插入额外的命令(否则它将被注释掉)。
Benjol 2010年

1
您可以看看windowsgit.com
莉莉丝河

6
请注意,sourceforge上未提供Copssh,并且自2012年4月起,它不再免费
。– TiansHUo

2
@Tim,您可以在此处重新发布博客文章的内容吗?如果您的博客离线,则此答案将无用。
海星

1
@Starfish-这就是web.archive.org的目的!这是Tim在那儿的文章:web.archive.org/web/20100207010332/http
//www.timdavis.com.au/…– alldayremix 2012年

27

Windows的Bonobo Git服务器

Bonobo Git Server网页

Bonobo Git Server Windows版是一个Web应用程序,您可以将其安装在IIS上,并轻松管理和连接到git存储库。

Bonobo Git Server是一个开源项目,您可以在github上找到 源代码

特征:

  • 安全和匿名访问您的git存储库
  • 用户友好的Web界面进行管理
  • 基于用户和团队的存储库访问管理
  • 储存库文件浏览器
  • 提交浏览器
  • 本土化

Brad Kingsley有一个不错的教程,用于安装和配置Bonobo Git Server。

GitStack

Git Stack是另一个选择。这是他们网站的描述:

GitStack是一种软件,可让您为Windows设置自己的私有Git服务器。这意味着您在没有任何Git知识的情况下创建了领先的版本控制系统。GitStack还可以非常轻松地保护服务器并使服务器保持最新状态。GitStack构建在Windows正版Git的顶部,并且与任何其他Git客户端兼容。GitStack对于小型团队是完全免费的1

1基本版本是免费的,最多2个用户


1
GitStack最多可免费使用5个用户。超过该限制后,您将根据用户数量来按年定价。请参阅GitStack网站上的“ 定价”页面
西蒙·图西

2
请注意,Bonobo Git Server的原始开发者JakubChodounský在2012年1月1日论坛帖子中说,他不再支持该项目。
西蒙·图西

2
GitStack现在仅对2位用户免费。
M4N 2012年

2
no黑猩猩再次活跃于一个项目。
Tomas Kubes 2013年

2
只需记住激活IIS> WWW服务>应用程序开发功能> ASP.NET 4.5。Bonobo为我工作,而GitStack(甚至不能使用主流的msysgit)在Bonobo那里为我工作,而Bonobo是开源的并且是MIT许可的!这为Windows提供了令人满意的解决方案,就像我更愿意为此目的使用Unix计算机一样。
威尔

26

关于对Tim Davis页面的引用- 在Windows上使用copSSH设置Msysgit服务器 -我用它来使Git服务器在Windows 7 Home Premium 64上运行。

除他的说明外,以下是我学到的事后总结/更新。

就像蒂姆·戴维斯(Tim Davis)所说的那样,这是一个艰巨而令人沮丧的过程,至少对我而言-我对这种集成不太满意,但是我在此过程中学到了很多。我希望我的痛苦将来能使其他人受益,因为这是一个艰巨的过程。

  1. 有一个步骤可将所有Git可执行文件复制到CopSsh bin目录中。无需复制文件并弄清楚需要哪些文件,而是将git bin路径添加到git路径。我是通过修改.bashrc和CopSsh配置文件来实现的。

    这是我添加到.bashrc中的内容(在您的CopSsh和Windows主目录中):

    gitpath ='/ cygdrive / c /程序文件(x86)/ Git / bin'

    gitcorepath ='cygdrive / c /程序文件(x86)/ Git / libexec / git-core'

    PATH = $ {gitpath}:$ {gitcorepath}:$ {PATH}

    这是我添加到bash配置文件中的内容(在CopSsh etc / profile中):

    gitpath ='/ c /程序文件(x86)/ Git / bin'

    gitcorepath ='cygdrive / c /程序文件(x86)/ Git / libexec / git-core'

    export PATH =“ / bin:$ syspath:$ gitpath:$ gitcorepath:$ winpath”

    这里有些重复-对我有用,所以有人在其中更改路径的正确位置发出提示音。

  2. 较新的msysgit版本可能无法让您选择在git sh和PuTTY ssh之间进行选择的ssh可执行文件。如果使用PuTTY,则必须手动设置GIT_SSH。

  3. 我没有遵循说明的一部分,而是安装Tortoise-我使用命令行代替,因为那是我更喜欢学习vcs的方法,就像我对rcs和Subversion所做的那样,发现它对我有用。我使用ssh的clone命令遇到问题。这是我的做法:

    使用SSH的Git克隆-找不到存储库

    这是我拍手最多的地方。

  4. CopSsh的安装目录为/ Program Files(x86)/ ICW。我没有了,但是如果我再做一次,我将使用没有空格的目录名称。

  5. 这些其他来源帮助我弄清楚了事情:

    在Windows上设置Git服务器的另一种方法是:

    http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    客户端的事情:

    http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

    关于Git作为服务器的说明(与Windows不相关,但是比安装步骤更深入地介绍):

    http://progit.org/book/ch4-0.html

    加上O'Reilly的带有Git版本控制 -“远程存储库”一章。

回想起来,如果我知道这会花多长时间,那我可能已经开始使用Mercurial了,因为我读到了在Windows上的安装会更容易,但是当我与Git一起工作一段时间后尝试Mercurial时,我会对此有所看法。 。


我在CopSSH步骤上遇到了麻烦。到CopSSH的链接不再存在...我被定向到sourceforge.net/projects/sereds/files,在这里我只能下载cwRsync_4.0.4_Installer.zip而不是CopSSH安装程序。有什么建议?
user5243421 2010年

这是我使用的链接:itefix.no/i2/node/27
Steve

1
截至2011年11月,Copssh是一种商业解决方案。3.0.3版免费提供。
mateuscb 2012年


16

在遵循蒂姆·戴维斯(Tim Davis)的指南和史蒂夫(Steve)的后续行动之后,这是我的工作:

服务器电脑

  1. 安装CopSSH,msysgit。
  2. 创建CopSSH用户时,请取消选中“ 密码身份验证”并选中“ 公共密钥身份验证”,以便您的公共/私有密钥可以使用。
  3. 使用PuTTygen创建公用/专用密钥。将两个密钥都放在用户的CopSSH / home / user / .ssh目录中。
  4. 将以下内容添加到用户的CopSSH / home / user / .bashrc文件中:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. 打开Git Bash并在PC上的任何位置创建存储库:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

客户端电脑

  1. 安装msysgit。
  2. 使用在服务器上创建的私钥从ssh:// user @ server:port / repopath / repo.git克隆存储库(由于某些原因,根目录为C:驱动器)

这使我能够成功克隆并提交,但无法推送到服务器上的裸仓库。我不断得到:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

这导致我进入Rui的跟踪和解决方案,该解决方案是在客户端PC的%USERPROFILE%路径(C:\ Users \ UserName)中创建以下行或将其添加到.gitconfig中。

[remote "origin"]
    receivepack = git receive-pack

我不确定为什么需要这样做...如果有人可以提供见解,那将是有帮助的。

我的git版本是1.7.3.1.msysgit.0


8

GitStack应该可以实现您的目标。我有一个向导设置。它对2个用户免费,并具有基于Web的用户界面。它基于msysgit。


1
从GitStack网站定价:最多5位用户免费; 6-10位用户每年299美元/年; 11-25位用户每年499美元;依此类推,500位用户每年最高2999美元。
西蒙·图西

1
GitStack现在仅对2位用户免费。
M4N 2012年

因此,1个用户用于设置服务器,1个用户用于访问服务器的客户端。这个限制太严格了。一个由2个开发人员组成的团队在现实世界中太小了。
赵刚

7

有一个很好的开源Git堆栈,称为Git Blit。它适用于不同的平台和不同的软件包。您还可以轻松地将其部署到现有的Tomcat或任何其他servlet容器中。只需单击几下教程,即可查看Windows上的Setup git服务器,以获取更多详细信息,这将花费您大约10分钟的时间来获得基本设置。


像魅力一样工作。太感谢了。
AndroidDev 2014年

欢迎,我很高兴这会有所帮助
Ruslan Platonov 2014年

这是一个不错的选择。对我来说易于使用。还没有测试过远程git commit,但是我想它可以工作。顺便说一句,该链接不再可用。
赵刚

该链接不再存在。
张世和

3

您不需要SSH即可共享git。如果您使用的是LAN或VPN,则可以将git项目导出为共享文件夹,然后将其安装在远程计算机上。然后使用“ file://” URL而不是“ git @” URL配置远程仓库。耗时30秒。做完了!


2

可能根本没有这样的指南。如果是这样,您可能不会很幸运地说服任何人写一个,因为这将需要很多工作。

我建议两件事之一。比较容易的是遵循您惯于遵循的指南,这意味着忘记了msysgit。

较难的是安装Linux服务器-可能是在Windows下使用VirtualBox(免费)或VMWare或Parallels(付费)作为来宾,然后按照Google会指导您执行的许多说明之一进行操作。但是您可能会发现这些说明是不够的-例如,它们通常假定您已经设置了ssh服务器,因此您必须在其他位置获取该信息。我已经做过两次,可以说,除非您已经是Linux专家,否则这将是一个挣扎。


1

我做了鲍勃·墨菲Bob Murphy)建议的“硬”选项。

我在工作时在VMWare Server(免费)下安装了Ubuntu,然后按照本指南进行操作设置Gitosis。我发现它比尝试在Windows下运行容易得多。设置完成后,您实际上就不必再碰它了,因为Gitosis管理可以从Windows通过推送gitosis.conf文件的更新版本来完成。我确实需要直接在服务器上进行的任何工作都是通过PuTTY完成的,因此我不必使用可怕的VMWare Server界面。

我最近在家里玩弄VirtualBox,发现与VMWare Server相比,使用它更容易/更容易,因此值得一看。


1

我只是想添加一下我在Stevetimc上面提到的PATH设置中的经验:我在使用路径为Git的Shell可执行文件的Shell工具(如mvcp)遇到权限问题。

在现有的PATH之后附加它们可以解决我的问题。例:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

我想CopSSH不能与msysgit的所有shell可执行文件配合得很好...


0

我正在使用GitWebAccess在许多项目中了半年,事实证明,这是我尝试过的最好的方法。但是,似乎最近不支持源,所以-不要使用最新的二进制文件/源。目前他们坏了:(

您可以从此版本构建,也可以从此处下载编译的二进制文件。

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.