搭建git 服务器

2020-08-21  本文已影响0人  花生Linkin

参考https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664

故事背景:

想在实验室用Jenkins搭一个CI 环境做测试,安装好Jenkins后 发现测试机没有权限访问git 服务器。

怎么办?

答案是:直接在测试机上面搭一个git 服务器

如何在Linux机器上面搭个git服务器。

最简单就是用git 自带的功能。因为git 本来就是一个分布式的系统。复杂的可以用什么gitlab, gerrite...

第一步,安装git:

$ sudo apt-get install git

第二步,创建一个git用户,用来运行git服务:

$ sudo adduser git

第三步,创建证书登录:

把用户的公钥 id_rsa.pub 导入到/home/git/.ssh/authorized_keys文件里,一行一个。

cat id_rsa.pub >> authorized_keys

第四步,初始化Git仓库:

先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:

$ sudo git init --bare sample.git

然后,把owner改为git:

$ sudo chown -R git:git sample.git

第五步,禁用shell登录:

出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

改为:

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

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

第六步,克隆远程仓库:

现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

$ git clone git@server:/srv/sample.

Cloning into 'sample'...

warning: You appear to have cloned an empty repository.

如何把现有的仓库push 的新的服务器

1. 添加新的remote:

git remote add origin-new git@server:/srv/sample.git

2. push

git push -u origin-new --all

3.push 过之后,你的分支会默认跟踪新的remote,如果想切换到原来的remote,可以这样:

格式: git branch --set-upstream-to=origin/remote_branch your_branch

比如:git branch --set-upstream-to=origin/master master

更多git remote操作参考:https://www.cnblogs.com/bwar/p/9297343.html

官方文档:https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches

上一篇 下一篇

猜你喜欢

热点阅读