首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在linux上设置私有git服务器

如何在linux上设置私有git服务器
EN

Stack Overflow用户
提问于 2011-06-06 07:49:50
回答 4查看 22.6K关注 0票数 8

我尝试过跟踪如何设置您自己的私有git服务器linux私有远程git存储库-ubuntu-linode,但是我仍然有问题。

我的本地环境是windows和远程linux。我有几个问题:

  1. 在第一篇文章中,它描述了为服务器设置一个公共ssh键--我以前从未这样做过,我不知道在哪里键入命令(甚至不确定是本地的还是远程的!):ssh myuser@server.com mkdir .sshscp ~/.ssh/id_rsa.pub myuser@server.com:.ssh/authorized_keys
  2. 我应该在本地开发机器上运行麦斯吉特吗?有没有其他的选择,因为我安装的版本占用1.4GB!我从http://code.google.com/p/msysgit/downloads/list安装了http://code.google.com/p/msysgit/downloads/list

我试着跳过使git用户和公钥,在远程机器上创建存储库,但是当我尝试git remote add origin ssh://[username]@[domain/ip/hostname]/srv/git/[project-name]作为根用户时,它是:fatal: Not a git repository (or any of the parent directories): .git

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-16 20:06:11

  1. 我一直试着用putty生成密钥对,但没能让它正常工作。最后,我意识到可以使用ssh-keygen -C "git@example.com" -t rsa通过msysgit命令行生成密钥。使用nano /home/git/.ssh/authorized_keys将公钥复制到服务器上,然后将其复制到服务器上!
  2. 我已经下载了完整的源代码,因此大小!非源应用程序,Git-1.7.4-preview20110204.exe通过http://code.google.com/p/msysgit/downloads/list?can=3只有13MB。
票数 -2
EN

Stack Overflow用户

发布于 2011-06-06 09:26:55

我不确定这是否应该在这里,或者它是否最好迁移到另一个站点,但由于我可能能够帮助,我将继续和回答。

我只是浏览了一下你链接的文章。看起来它们都处理通过ssh访问git服务器的问题,您刚才提到过,所以这就是我要关注的问题。

首先,在您的服务器上:

您需要在服务器上设置一个帐户,以便可以登录。这可以是一个通用的git帐户,也可以是您自己的个人帐户。就目前而言,我们将假设您正在设置它来处理个人帐户。您想要做的是创建您的帐户,然后在该帐户可访问的地方(例如,在您的主目录中)创建git存储库。

代码语言:javascript
运行
复制
mkdir myrepo.git
cd myrepo.git
git --bare init --shared=all

所以现在服务器上有一个git存储库。根据您正在使用的git客户机,您现在可能不需要处理密钥。如果您的服务器上配置了SSH以允许密码登录,那么当您需要与服务器交互时,您可能只需连接并输入密码。如果要设置密钥,则需要生成ssh公钥。我不知道如何在windows中这样做,但在linux中,您可以这样做:

代码语言:javascript
运行
复制
ssh-keygen -t rsa -b 1024

该命令将生成两个文件,"id_rsa“和"id_rsa.pub";无论使用什么工具,都应该生成两个文件,一个公钥和一个私钥。它们可能有不同的名称,但现在假设"id_rsa.pub“是您的公钥文件的名称。

要将公钥复制到服务器,可以使用scp、ftp或使用拇指驱动器将其移动。无论哪种方式,一旦您将它放到服务器上,并且您的用户可以访问它,请以您的用户身份在服务器上登录。您希望将公钥添加到"authorized_hosts“文件中,因此在登录到服务器上的帐户后,请执行以下操作:

代码语言:javascript
运行
复制
cd
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_hosts
rm id_rsa.pub

现在,在您的工作站上,您需要配置ssh客户端以使用您生成的私钥。同样,我不知道如何在Windows上这样做,而且它可能会根据您正在使用的ssh客户机而有所不同,所以您需要在其他地方获得这些信息。

接下来,您需要创建本地存储库,添加一些文件,并进行提交。请注意,您还不能克隆您创建的远程存储库,因为其中没有任何内容。一旦在本地进行了一些提交,就需要在存储库中设置远程服务器。

如果使用的是git命令行工具,则可以运行:

代码语言:javascript
运行
复制
git remote add origin user@yourserver:myrepo.git

如果将存储库放置在主目录之外的某个位置,请使用完整路径:

代码语言:javascript
运行
复制
git remote add origin user@yourserver:/path/to/repo.git

请注意,您需要其中的".git“,因为您的目录名有".git”作为名称的一部分。

如果使用GUI工具,则只需编辑存储库的配置文件即可。这将位于存储库的顶层“..git/config”下。你会想要添加这样的东西

代码语言:javascript
运行
复制
[remote "origin"]
    url = user@yourserver:/path/to/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

现在您的遥控器已经配置好了,并且在本地有了一些提交,您可以将您的主分支推到服务器上。如果使用的是命令行,请使用:

代码语言:javascript
运行
复制
git push origin master

或者,如果你在另一个分支工作:

代码语言:javascript
运行
复制
git push origin mybranch

如果您正在使用get的GUI前端,那么您需要查找关于如何推送该工具的文档。

票数 18
EN

Stack Overflow用户

发布于 2012-08-10 07:52:38

我建议使用海泡石,它允许在中央服务器上安装git主机,并具有访问控制和创建/管理存储库等强大功能。

对于windows,名为git-scm的工具可以用于设置git客户端,也可以为git存储库提供GUI面板。安装这个git工具之后,您将得到一个git 工具和一个 GUI

使git托管服务器和客户端的设置非常简单。

我希望这可以帮助新的人,谁正在寻找一个有效的解决方案,建立git托管服务器和客户端在一些容易理解的简单步骤。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6249088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档