163

我和我的朋友正在尝试使用教程Git 服务器:Windows 上的 Gitosis 和 Cygwin为 Windows 设置 Git ,但我们总是遇到问题。

使用msysgit的 Windows 的“设置 Git 服务器”指南是什么样的?

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

  1. 安装 mysisgit

  2. ?

4

12 回答 12

79

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

请参阅在 Windows 上使用 copSSH 设置 Msysgit 服务器。这很长,但我已经成功地在 Windows 7 Ultimate x64 上运行。

于 2009-10-01T13:31:15.720 回答
27

适用于 Windows 的 Bonobo Git 服务器

Bonobo Git 服务器网页

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

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

特征:

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

Brad Kingsley有一个很好的安装和配置 Bonobo Git 服务器的教程

GitStack

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

GitStack 是一款软件,可让您为 Windows 设置自己的私有 Git 服务器。这意味着您无需任何先前的 Git 知识即可创建领先的版本控制系统。GitStack 还使保护和保持服务器最新状态变得超级容易。GitStack 建立在正版 Git for Windows 之上,并与任何其他 Git 客户端兼容。GitStack 对小型团队1完全免费。

1基本版最多可免费供 2 位用户使用

于 2011-05-11T15:18:58.843 回答
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 等/配置文件中)的内容:

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

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

    导出 PATH="/bin:$syspath:$gitpath:$gitcorepath:$winpath"

    这里有一些重复 - 它对我有用,所以有人在哪里是修改路径的正确位置。

  2. 较新的 msysgit 版本可能不会为您提供选择 ssh 可执行文件的屏幕,您可以在其中选择 Git ssh 和 PuTTY ssh。如果您使用 PuTTY,则必须手动设置 GIT_SSH。

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

    使用 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 之后我会对此发表意见.

于 2010-03-14T00:52:32.447 回答
20

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

于 2012-03-19T11:56:28.277 回答
16

在遵循蒂姆戴维斯的指南和史蒂夫的后续行动之后,我做了以下事情:

服务器电脑

  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

于 2011-01-12T17:20:58.470 回答
8

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

于 2012-01-23T14:08:44.417 回答
7

有一个很好的开源 Git 堆栈,称为 Git Blit。它适用于不同的平台和不同的软件包。您还可以轻松地将其部署到现有的 Tomcat 或任何其他 servlet 容器。更多详细信息,请查看在Windows 上设置 git 服务器的教程,大约需要 10 分钟才能完成基本设置。

于 2013-11-06T20:18:56.657 回答
3

你不需要 SSH 来共享 git。如果您在 LAN 或 VPN 上,您可以将 git 项目导出为共享文件夹,并将其挂载到远程计算机上。然后使用“file://”URLs 而不是“git@”URLs 配置远程仓库。总共需要 30 秒。完毕!

于 2012-07-15T18:28:39.917 回答
2

可能根本没有这样的指南。如果是这样,您可能无法说服任何人写一篇文章,因为这将是很多工作。

我会推荐两件事中的任何一个。更容易的是盲目地遵循您的指南,这意味着忘记 msysgit。

更难的是建立一个 Linux 服务器 - 可能作为 Windows 下的访客使用 VirtualBox(免费)或 VMWare 或 Parallels(付费),然后按照 Google 将引导您的众多说明中的一个进行操作。但是您可能会发现这些说明是不够的——例如,它们通常假设您已经设置了一个 ssh 服务器,因此您必须在其他地方获取该信息。我已经这样做了两次,并且可以说除非你已经是 Linux 大师,否则这将是一场斗争。

于 2009-09-27T05:34:09.117 回答
1

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

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

我最近一直在家里玩弄 VirtualBox,我发现它比 VMWare Server 更好/更容易使用,所以它可能值得一看。

于 2009-10-08T09:42:36.053 回答
1

我只是想补充一下史蒂夫timc上面提到的PATH设置的经验:我在使用 shell 工具(如mvcp)时遇到了权限问题,在路径中将 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 可执行文件配合得很好......

于 2011-03-02T14:38:58.783 回答
0

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

您可以从此版本构建或从此处下载我使用的已编译二进制文件。

于 2012-08-20T10:56:43.423 回答