我和我的朋友正在尝试使用教程Git 服务器:Windows 上的 Gitosis 和 Cygwin为 Windows 设置 Git ,但我们总是遇到问题。
使用msysgit的 Windows 的“设置 Git 服务器”指南是什么样的?
上面的教程中有一条评论表明它不能用 msysgit 完成,因为 gitosis 需要使用 SSH 服务器和 Bash?什么是分步指南(因为没有可用的指南)?
安装 mysisgit
?
我和我的朋友正在尝试使用教程Git 服务器:Windows 上的 Gitosis 和 Cygwin为 Windows 设置 Git ,但我们总是遇到问题。
使用msysgit的 Windows 的“设置 Git 服务器”指南是什么样的?
上面的教程中有一条评论表明它不能用 msysgit 完成,因为 gitosis 需要使用 SSH 服务器和 Bash?什么是分步指南(因为没有可用的指南)?
安装 mysisgit
?
我找到了这篇文章,我刚刚在我的博客上发布了一些可能会有所帮助的内容。
请参阅在 Windows 上使用 copSSH 设置 Msysgit 服务器。这很长,但我已经成功地在 Windows 7 Ultimate x64 上运行。
适用于 Windows 的 Bonobo Git 服务器
Bonobo Git Server for Windows 是一个 Web 应用程序,您可以安装在 IIS 上并轻松管理和连接到您的 git 存储库。
Bonobo Git Server 是一个开源项目,你可以 在 github 上找到源代码。
特征:
Brad Kingsley有一个很好的安装和配置 Bonobo Git 服务器的教程。
GitStack
Git Stack是另一种选择。以下是他们网站上的描述:
GitStack 是一款软件,可让您为 Windows 设置自己的私有 Git 服务器。这意味着您无需任何先前的 Git 知识即可创建领先的版本控制系统。GitStack 还使保护和保持服务器最新状态变得超级容易。GitStack 建立在正版 Git for Windows 之上,并与任何其他 Git 客户端兼容。GitStack 对小型团队1完全免费。
1基本版最多可免费供 2 位用户使用
关于对 Tim Davis 页面的引用 -在 Windows 上使用 copSSH 设置 Msysgit 服务器- 我使用它来获得在 Windows 7 Home Premium 64 上运行的 Git 服务器。
除了他的指示之外,以下是我所学到的事后/更新。
正如蒂姆戴维斯所说,这是一个艰巨而令人沮丧的过程,至少对我来说是这样——我不太擅长这种整合,但我在这个过程中学到了很多东西。我希望我的痛苦在未来对别人有好处,因为这是一个艰巨的过程。
有一个步骤可以将所有 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"
这里有一些重复 - 它对我有用,所以有人在哪里是修改路径的正确位置。
较新的 msysgit 版本可能不会为您提供选择 ssh 可执行文件的屏幕,您可以在其中选择 Git ssh 和 PuTTY ssh。如果您使用 PuTTY,则必须手动设置 GIT_SSH。
我没有遵循说明的一部分,那就是安装 Tortoise - 我使用命令行代替,因为这就是我喜欢学习 vcs 的方式,就像我使用 rcs 和 Subversion 一样,并发现它对我有用。我在使用 ssh 的克隆命令时遇到问题。我是这样做的:
这是我最头疼的地方。
CopSsh 安装目录是 /Program Files (x86)/ICW。我逃脱了这个,但如果我再做一次,我会使用一个没有空格的目录名。
这些其他来源帮助我弄清楚了:
在 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 之后我会对此发表意见.
我不确定为什么没有人建议http://gitblit.com。纯基于 java 的解决方案,允许 HTTP 协议并且非常容易设置。
在遵循蒂姆戴维斯的指南和史蒂夫的后续行动之后,我做了以下事情:
服务器电脑
将以下内容添加到用户的 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}
打开 Git Bash 并在 PC 上的任意位置创建一个存储库:
$ git --bare init repo.git
Initialized empty Git repository in C:/repopath/repo.git/
客户端电脑
这使我能够成功克隆和提交,但我无法推送到服务器上的裸仓库。我不断得到:
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
GitStack应该可以满足您的目标。我有一个向导设置。它对 2 个用户免费,并具有基于 Web 的用户界面。它基于 msysgit。
有一个很好的开源 Git 堆栈,称为 Git Blit。它适用于不同的平台和不同的软件包。您还可以轻松地将其部署到现有的 Tomcat 或任何其他 servlet 容器。更多详细信息,请查看在Windows 上设置 git 服务器的教程,大约需要 10 分钟才能完成基本设置。
你不需要 SSH 来共享 git。如果您在 LAN 或 VPN 上,您可以将 git 项目导出为共享文件夹,并将其挂载到远程计算机上。然后使用“file://”URLs 而不是“git@”URLs 配置远程仓库。总共需要 30 秒。完毕!
可能根本没有这样的指南。如果是这样,您可能无法说服任何人写一篇文章,因为这将是很多工作。
我会推荐两件事中的任何一个。更容易的是盲目地遵循您的指南,这意味着忘记 msysgit。
更难的是建立一个 Linux 服务器 - 可能作为 Windows 下的访客使用 VirtualBox(免费)或 VMWare 或 Parallels(付费),然后按照 Google 将引导您的众多说明中的一个进行操作。但是您可能会发现这些说明是不够的——例如,它们通常假设您已经设置了一个 ssh 服务器,因此您必须在其他地方获取该信息。我已经这样做了两次,并且可以说除非你已经是 Linux 大师,否则这将是一场斗争。
我做了Bob Murphy建议的“硬”选项。
我在工作时在 VMWare Server(免费)下安装了 Ubuntu,然后按照本指南设置 Gitosis。我发现这比尝试在 Windows 下运行要容易得多。一旦设置好,你就不必再碰它了,因为 Gitosis 管理可以在 Windows 上通过推送 gitosis.conf 文件的更新版本来完成。我需要直接在服务器上做的任何工作都是通过 PuTTY 完成的,所以我不必使用可怕的 VMWare Server 界面。
我最近一直在家里玩弄 VirtualBox,我发现它比 VMWare Server 更好/更容易使用,所以它可能值得一看。
我只是想补充一下史蒂夫和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 可执行文件配合得很好......
我在很多项目中使用GitWebAccess半年了,事实证明它是我尝试过的最好的。但是,似乎不支持最近的源,所以 - 不要采用最新的二进制文件/源。目前他们坏了:(