在Windows上使用msysgit设置Git服务器

时间:2009-09-27 05:01:53

标签: windows git msysgit

我的朋友和我正在尝试使用教程 Git Server: Gitosis and Cygwin on Windows 设置Git for Windows,但我们只是遇到了问题。

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

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

  1. 安装mysisgit

12 个答案:

答案 0 :(得分:80)

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

请参阅 Setting up a Msysgit Server with copSSH on Windows 。这很长,但我已经成功地使用Windows 7 Ultimate x64。

答案 1 :(得分:26)

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

除了他的指示之外,下面是我学到的事情的更新/更新。

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

  1. 复制所有Git有一个步骤 可执行文件到您的CopSsh bin中 目录。而不是复制文件 并找出哪些文件 需要,将git bin路径添加到您的 git路径。我通过修改我的方式这样做了 .bashrc和CopSsh个人资料。

    这是我添加到.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}

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

      

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

         

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

         

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

    这里有一些重复 - 它对我有用,所以有人会在这里修改路径。

  2. 较新的msysgit版本可能不会给你 在屏幕上选择ssh 你在Git中选择的可执行文件 ssh和PuTTY ssh。你必须这样做 如果您使用PuTTY,请手动设置GIT_SSH。

  3. 我没有按照一部分内容 说明和正在安装 乌龟 - 我用命令行 相反,我喜欢这样 学习像我用rcs和Subversion那样的vcs 发现为我工作。我有 clone命令的问题 使用ssh。我是这样做的:

    Git clone using ssh - can't find repository

    这是我最让我头疼的地方。

  4. CopSsh安装目录是 / Program Files(x86)/ ICW。我有 离开这个,但如果我在做 它再次,我使用目录名称 没有空格。

  5. 这些其他来源帮助我解决了问题:

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

    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

    Plus O'Reilly的使用Git进行版本控制 - 远程存储库章节。

  6. 回想起来,如果我知道这会花费多少时间,我可能已经开始使用Mercurial,因为我在Windows上阅读安装更容易,但在我使用Git一段时间之后我会对此有一个意见。然后尝试Mercurial。

答案 2 :(得分:26)

适用于Windows的Bonobo Git服务器

来自Bonobo Git Server web page

  

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

     

Bonobo Git Server是一个开源项目,你可以找到   source on github

特点:

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

Brad Kingsley有一个很好的tutorial用于安装和配置Bonobo Git服务器。

<强> GitStack

Git Stack是另一种选择。以下是他们网站上的描述:

  

GitStack是一款可以让您设置自己的私有Git服务器的软件   对于Windows。这意味着您可以创建前沿版本控制   系统没有任何先前的Git知识。 GitStack也让它超级棒   易于保护并使您的服务器保持最新状态。 GitStack是建立在   正版Git for Windows的顶级产品兼容任何产品   其他Git客户。 GitStack对小型团队 1 完全免费。

1 basic edition最多可供2位用户使用

答案 3 :(得分:19)

我不确定为什么有人没有提出http://gitblit.com。基于纯Java的解决方案,允许HTTP协议,并且非常容易设置。

答案 4 :(得分:16)

在跟随蒂姆戴维斯的导游和史蒂夫的后续行动之后,我就是这样做的:

服务器PC

  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/
    
  6. 客户端PC

    1. 安装msysgit。
    2. 使用您在服务器上创建的私钥从 ssh:// user @ server:port / repopath / repo.git 克隆您的repo(由于某种原因,root是C:驱动)
    3. 这使我成功克隆并提交,但我无法推送到服务器上的裸仓库。我一直得到:

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

      这导致我Rui's trace and solution客户端PC的%USERPROFILE%路径(C:\ Users \ UserName)中创建或添加以下行到.gitconfig。

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

      我不确定为什么需要这样做......如果有人能提供见解,这会有所帮助。

      我的git版本是1.7.3.1.msysgit.0

答案 5 :(得分:8)

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

答案 6 :(得分:6)

有一个很好的开源Git堆栈叫做Git Blit。它适用于不同的平台和不同的包。您还可以轻松地将其部署到现有的Tomcat或任何其他servlet容器中。查看Setup git server on windows in few clicks教程了解更多详细信息,大约需要10分钟才能完成基本设置。

答案 7 :(得分:3)

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

答案 8 :(得分:2)

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

我会推荐两件事。更容易的是遵循你盲目的指南,这意味着忘记了msysgit。

更难的是建立一个Linux服务器 - 可能是在Windows下使用VirtualBox(免费)或VMWare或Parallels(付费)的访客,然后按照谷歌将引导您的许多指令之一。但是你可能会发现这些指令是不够的 - 例如,他们通常认为你已经设置了一个ssh服务器,所以你必须在其他地方获取这些信息。我已经完成了两次,并且可以说,除非你已经是一个Linux大师,否则这将是一场斗争。

答案 9 :(得分:1)

我做了Bob Murphy建议的“硬”选项。

我在工作时在VMWare Server(免费)下安装了Ubuntu,然后在this guide上设置了Gitosis。我发现它比试图在Windows下运行容易得多。一旦设置完毕,你真的不需要触摸它,因为可以通过推送更新版本的gitosis.conf文件从Windows完成Gitosis管理。我需要在服务器上直接进行的任何工作都是通过PuTTY完成的,所以我不必使用可怕的VMWare服务器接口。

我最近在家里乱搞VirtualBox,我发现它比VMWare Server更好/更容易使用,因此可能值得一看。

答案 10 :(得分:1)

我只想添加上面 Steve timc 提及的 PATH 设置的经验:我使用shell工具获得了权限问题(比如 mv cp )首先在路径中使用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可执行文件不匹配...

答案 11 :(得分:0)

我现在在半年内使用GitWebAccess进行了许多项目,并且它被证明是我尝试过的最好的项目。但是,似乎最近的来源不受支持,所以 - 不要采用最新的二进制文件/来源。目前他们已经破了:(

您可以从this version构建或下载我在here中使用的已编译二进制文件。