在Windows上用msysgit安装一个Git服务器

我的朋友和我正在尝试使用Git服务器:Windows上的Gitosis和Cygwin来设置Git for Windows ,但是我们仍然遇到问题。

使用msysgit的“安装Git服务器”指南是什么样的?

在上面的教程中有一个评论build议它不能用msysgit完成,因为gitosis需要使用SSH服务器和Bash? 什么是一步一步的指导(因为没有一个可用)?

  1. 安装mysisgit

我发现这个post,我刚刚在我的博客上发布了一些可能有用的信息。

请参阅在Windows上使用copSSH设置Msysgit服务器 。 这很长,但我已经成功地在Windows 7旗舰版x64上工作。

关于Tim Davis页面的参考 – 在Windows上使用copSSH设置Msysgit服务器 – 我使用它来获得在Windows 7 Home Premium 64上运行的Git服务器。

以下是除了他的指示之外,我还学习了什么。

就像蒂姆·戴维斯(Tim Davis)说的那样,这是一个艰难而令人沮丧的过程,至less对我来说 – 我并不太擅长这种整合,但是我在这个过程中学到了很多东西。 我希望将来我的痛苦会让别人受益,因为这是一个艰难的过程。

  1. 有一个步骤将所有Git可执行文件复制到您的CopSsh bin目录中。 而不是复制文件,并找出需要哪些文件,将git binpath添加到您的gitpath。 我通过修改我的.bashrc和CopSshconfiguration文件。

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

    gitpath ='/ cygdrive / c / Program Files(x86)/ Git / bin'

    gitcorepath ='cygdrive / c / Program Files(x86)/ Git / libexec / git-core'

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

    这是我添加到bashconfiguration文件(在CopSsh等/configuration文件):

    gitpath ='/ c / Program Files(x86)/ Git / bin'

    gitcorepath ='cygdrive / c / Program Files(x86)/ Git / libexec / git-core'

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

    这里有一些重复 – 对我有用,所以有人在哪里修改path是正确的。

  2. 较新的msysgit版本可能不会给你屏幕selectssh可执行文件在Git ssh和PuTTY ssh之间select。 如果您使用PuTTY,则必须手动设置GIT_SSH。

  3. 我没有按照说明的一部分,那是安装乌龟 – 我用命令行,而不是我喜欢学习像我与rcs和Subversion一样的vcs,发现为我工作。 我有使用SSH的克隆命令的问题。 以下是我如何做到的:

    Git克隆使用SSH – 无法find存储库

    这是我最痛苦的地方。

  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 。

用于Windows的Bonobo Git服务器

从Bonobo Git Server网页 :

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

Bonobo Git Server是一个开源项目,你可以在github上find源代码 。

特征:

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

Brad Kingsley有一个很好的安装和configurationBonobo Git Server的教程 。

GitStack

Git Stack是另一种select。 这是从他们的网站描述:

GitStack是一个软件,可以让你设置自己的私人Git服务器的Windows。 这意味着您创build了一个没有任何Git知识的前沿版本控制系统。 GitStack也使得它非常容易保护和保持你的服务器是最新的。 GitStackbuild立在真正Git for Windows的顶部,并与任何其他Git客户端兼容。 GitStack对于小团队来说是完全免费的1

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

我不知道为什么有人不build议http://gitblit.com 。 基于纯java的解决scheme,允许HTTP协议,并且非常容易设置。

遵循蒂姆·戴维斯的指导和史蒂夫的后续行动,我做了以下工作:

服务器电脑

  1. 安装CopSSH,msysgit。
  2. 创buildCopSSH用户时,请取消选中密码validation,然后选中公钥validation,以使公钥/私钥生效。
  3. 使用PuTTygen创build公钥/私钥。 把这两个键放在用户的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上的任何位置创build一个存储库:

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

客户端PC

  1. 安装msysgit。
  2. 使用您在服务器上创build的私钥从ssh:// user @ server:port / repopath / repo.git克隆您的repo(出于某种原因,根目录是C:驱动器)

这使我成功克隆和提交,但我不能推到服务器上的裸回购。 我不断得到:

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

这使我得到了Rui的跟踪和解决scheme ,它是在客户端PC的%USERPROFILE%path(C:\ Users \ UserName)中为.gitconfig创build或添加以下行。

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

我不知道为什么这是必要的…如果有人能提供见解,这将是有益的。

我的git版本是1.7.3.1.msysgit.0

GitStack应该达到你的目标。 我有一个向导设置。 它为2个用户免费,并有一个基于Web的用户界面。 它基于msysgit。

  • Git的Windows开发人员 。 3部分,这是第一个链接。 好的!

  • Windows上的Git插图指南

  • Git扩展 (video)

有一个很好的开源Git堆栈叫做Git Blit。 它可用于不同的平台和不同的包装。 您也可以轻松地将其部署到现有的Tomcat或任何其他servlet容器。 看看安装git服务器上的窗口,在几个点击教程的更多细节,它会花你约10分钟,以获得基本的设置。

你不需要SSH来共享git。 如果你在一个局域网或者VPN上,你可以将一个git项目作为一个共享文件夹导出,然后挂载到远程机器上。 然后使用“file://”URL而不是“git @”URL来configuration远程回购。 花费30秒。 完成!

可能根本就没有这样的指导。 如果是这样,你可能没有太多的运气说服任何人写一个,因为这将是很多工作。

我会推荐两件事情之一。 更容易的是跟随你的奴隶指南,这意味着忘记msysgit。

更困难的是build立一个Linux服务器 – 也许作为一个客户在Windows下使用VirtualBox(免费)或VMWare或Parallels(付费),然后按照谷歌将带领您的许多指示集之一。 但是你可能会发现这些指令是不够的 – 例如,他们通常认为你已经设置了一个ssh服务器,所以你必须在其他地方获得这个信息。 我这样做了两次,可以说,除非你已经是Linux大师,否则这将是一场斗争。

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

我在VMWare Server(免费)下安装了Ubuntu,然后按照本指南设置Gitosis。 我发现这比在Windows下运行要容易得多。 一旦build立起来,你就不必碰它,因为Gitosispipe理可以通过推送更新版本的gitosis.conf文件在Windows上完成。 我需要在服务器上直接做的任何工作都是通过PuTTY完成的,所以我不必使用可怕的VMWare服务器接口。

我最近一直在家中使用VirtualBox,我发现它比VMWare Server更好用,所以值得一看。

我只想添加SteveTim提到的PATH设置的经验:我使用shell工具(如mvcp )获得权限问题,首先在path中使用Git的shell可执行文件。

在现有的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可执行文件都不一致

在使用上述方法尝试(和失败)之后,我使用了http://www.windowsgit.com上的; “计算机语言学家”build议的工具。 这是可笑的简单,只是工作。 值得9美元,国际海事组织。

另一个解决scheme是Gitwin – 一个Openssh的启用Git仓库服务器的Windows。 免费版是可用的。

我现在在很多项目上使用GitWebAccess已经有半年了,这已经certificate是我尝试过的最好的。 但是,似乎最近的消息来源不被支持,所以 – 不要采取最新的二进制文件/来源。 目前他们破了:(

你可以从这个版本编译或下载我在这里使用的编译的二进制文件。

你可以试试GitDrive,它把你的iOS设备变成一个可移动的硬盘,但是它是由Git驱动的。 它还将您的所有存储库同步到iCloud。 只要安装,你会得到一个完美的Git服务器在你的口袋里。 应用链接: https : //itunes.apple.com/us/app/git-drive/id1215974700?ls=1&mt=8