在linux中搭建自己的git仓库

在之前的一篇文章中罗列出了git常用的命令和场景,之前的git命令学习是基于码云或者github其他第三方托管平台,当然也可以在自己服务器上搭建git仓库,自行管理自己的项目代码。这样安全性有保证了,可是也失去了第三方托管平台的图形化界面操作的便捷。以下步骤也可以在虚拟机中尝试

流程:

  1. 在linux上安装git
  2. 在linux中新建一个git用户
  3. 创建ssh证书
  4. 导入ssh证书
  5. 选定一个空目录作为代码仓库
  6. 更改git命令的所有者
  7. 禁止ssh登录服务器

大概流程清楚后,下面开始实战:

在linux上安装git

使用命令:yum install git

创建一个git用户

输入:adduser git

创建ssh证书

*这里创建ssh证书,是在本地创建,而不是在服务器端创建的。这个需要注意。以win为例,打开git命令面板,

        1、先配置用户名和邮箱:(如果已经配置了则跳过)
  git config --global user.name '你的名称'
  git config --global user.email '你的邮箱地址'

2、然后生成公钥和私钥

 ssh-keygen -t rsa -C "你的邮箱地址"

回车后会看到以下界面。这里是选择ssh文件保存的路径(直接回车),我选择默认路径,即最后一行显示的、 保存在了c盘的这个位置中(c/user/Jioho/.ssh/id_rsa)。


紧接着会让你输入密码(会有2次确认,简短的英语很好理解的)。默认保持不输入(也是直接回车,避免每次clone代码都需要输入密码的麻烦)


成功执行后会看到这样的界面:


然后我们到刚才提示的c盘的目录中,找到我们需要的ssh文件。(之前一直找不到对应的文件夹,是因为C盘中的user的中文别名叫“用户”,所以C:/user/  其实就是 C:/用户/)。打开文件夹后,里面会有2份文件,分别为公钥和私钥。


当然可以使用文本编辑器打开ssh公钥查看里面的内容(不推荐使用记事本直接打开,原因不多作解释)

这时候我们就需要把id_rsa.pub文件放到服务器上,准备下一步的工作。这里我使用的是Winscp工具。把文件放在服务器任意地方都可以,只要自己找得到就行。

导入自己的SSH证书

以上生成SSH证书的步骤弄懂后,就需要把自己的ssh公钥证书导入服务器的公钥管理的地方

在服务器中找到  /home/git/.ssh/authorized_keys 文件、如果没有就自己创建一个authorized_keys文件,注意路径不要弄错。

找到刚才放在服务器上的 id_rsa.pub文件。然后使用命令:cat id_rsa.pub >> authorized_keys

注意路径不要弄错,因为我这是在 /home/git/.ssh/ 的目录中了

(如果linux命令用的不熟的,其实可以直接使用winscp编辑文件,把id_rsa.pub文件的内容复制粘贴到authorized_keys文件中。方法不是唯一)

最重要的一点,也是最容易出错的一点!linux一切皆文件,所以要给对应的文件设置好组和权限!!

*注:这里的/home/git/下的文件所有者必须都为git  .ssh的权限为最少700或者755  authorized_keys权限最少为600

创建一个仓库目录

选定一个空目录作为仓库  这里选择  /srv 目录。切换到 /srv 目录下

执行命令 :  git init --bare test.git   (这样就创建了一个名叫 “test”的git仓库了)

更改仓库所有者和权限

chown -R git:git test.git  (“因为我的仓库名称叫test,所以可以根据自己的仓库名称进行修改”,仓库的所有者应该为git。 )即步骤2创建的git用户

禁止linux使用git的ssh登录

这里禁止的意义是为了服务器的安全性,避免从git的ssh可以直接登录服务器

编辑/etc/passwd文件
找到 : git:x:1001:1001:,,,:/home/git:/bin/bash

改为 : git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

*可能用到的命令:修改ssh后,有可能需要重启ssh才能生效
SSH重启: service sshd restart
SSH启动: service sshd start


以上步骤都完成后,就可以试下把服务器的代码clone下来了。由于是在自己服务器搭建的git环境,所以git文件的url如下:

git@ip地址:/srv/test.git

ip地址很好理解,而url后面的  /srv/test.git  则是git文件在服务器上的位置,如果仓库在其他目录,那么/srv/test.git换成你对应的文件目录即可。

确认项目路径没错后,回车进行clone。这时候会看到一句警告

warning: You appear to have cloned an empty repository.
不要慌张,其实仔细一看,只是git提示我们:你似乎clone了一个空的项目。打开克隆下来的文件夹,查看是否有一个.git的隐藏文件。如果有的话,那就是已经clone成功,那也代表着linux搭建自己的git服务成功了!然后就可以进行愉快的开发了。具体的git常用命令在我的博客另外一篇文章中也有提到,感兴趣的也可以看看! git命令


  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: 要在Linux搭建Git远程仓库,需要按照以下步骤进行操作: 1. 安装Git:在Linux上安装Git,可以使用命令行工具或者包管理器进行安装。 2. 创建Git用户:为了安全起见,最好为Git创建一个专门的用户,用于管理Git仓库。 3. 创建Git仓库:使用Git命令创建一个空的Git仓库,可以在本地或者远程服务器上创建。 4. 配置Git仓库:为Git仓库设置一些基本的配置信息,如用户名、邮箱等。 5. 克隆Git仓库:在本地或者其他服务器上克隆Git仓库,可以使用SSH或者HTTP协议进行克隆。 6. 推送代码:将本地代码推送到Git仓库,可以使用Git命令或者Git客户端进行操作。 7. 拉取代码:从Git仓库拉取代码到本地,可以使用Git命令或者Git客户端进行操作。 以上是在Linux搭建Git远程仓库的基本步骤,具体操作可以根据实际情况进行调整。 ### 回答2: 在Linux系统,我们可以通过Git搭建一套远程仓库,以方便团队进行代码的共享和管理。下面是一个简单的步骤: 1. 安装Git:在Linux系统使用以下命令安装Git: ``` sudo apt-get install git ``` 2. 创建git用户:使用以下命令创建一个名为git的用户: ``` sudo adduser git ``` 3. 创建Git仓库:在git用户的home目录下创建仓库文件夹,例如: ``` sudo mkdir /home/git/repo.git ``` 4. 初始化仓库:使用以下命令初始化仓库: ``` sudo git init --bare /home/git/repo.git ``` 5. 设置仓库访问权限:在仓库目录下使用以下命令设置权限: ``` sudo chown -R git:git /home/git/repo.git sudo chmod -R 755 /home/git/repo.git ``` 6. 创建SSH密钥:使用以下命令在本地机器上创建SSH密钥: ``` ssh-keygen ``` 7. 将公钥添加至仓库:将生成的公钥(~/.ssh/id_rsa.pub)添加至git用户的.home目录下的authorized_keys文件,例如: ``` sudo su git cd /home/git mkdir .ssh cd .ssh touch authorized_keys nano authorized_keys ``` 在authorized_keys文件添加公钥。 8. 克隆仓库:使用以下命令将远程仓库克隆到本地: ``` git clone git@ip:/home/git/repo.git ``` 其,ip为远程服务器的IP地址;repo.git仓库文件夹。 至此,我们已经成功地在Linux系统搭建了一个Git远程仓库。我们可以让团队成员通过SSH协议访问该仓库,并进行代码的管理和共享。 ### 回答3: Git是一个流行的版本控制系统,可以通过Linux操作系统搭建Git远程仓库。以下是搭建Git远程仓库的步骤,这将有助于您在Linux上设置仓库。 1.安装Git软件包:首先,安装Git软件包。Git是一个自由软件,可以从Git网站上免费下载。您可以使用以下命令安装Git: sudo apt-get install git 如果您使用的是不同的Linux发行版,请选择相应的命令来执行安装。 2.创建Git用户:创建一个专用的Git用户,充当版本控制仓库的管理员。此操作可增强安全性。 sudo adduser git 创建用户时,设置密码和其他信息。 3.创建Git仓库:选择要在Linux服务器上设置的Git仓库目录,并创建目录。然后为用户Git设置目录权限。 sudo mkdir /opt/git sudo chown git:git /opt/git 创建完成后,使用以下命令进入目录: cd /opt/git 您可以使用以下命令初始化仓库,并将它设置为共享资源: sudo git init --bare --shared=my-group my-project.git my-group 是组名,my-project.git 是创建的仓库。同时,Git要求您对各个项目分配名称。 4.设置远程访问:您应该设置一个访问Git仓库的方式。为此,请在虚拟主机上打开SSH,并创建仓库访问的公钥和私钥。 您可以使用以下命令生成SSH密钥: sudo su - git ssh-keygen -t rsa 将公钥添加到Git仓库: sudo cat /home/git/.ssh/id_rsa.pub >> /opt/git/my-project.git/.ssh/authorized_keys 5.下载代码仓库:现在,您可以将代码版本控制仓库Linux服务器下载到客户端。为此,您需要标识仓库位置、仓库名称以及提供SSH密钥。 git clone git@<ServerIpAddressOrHostname>:<RepositoryDirectory>/<RepositoryName>.git 最后,您可以使用以下命令离开Git用户: # exit 总之,以上是在Linux服务器上设置Git远程仓库的步骤。通过这些步骤,您可以更好地管理和维护仓库,从而更加有效地管理代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值