在ubuntu18.04上搭建git服务

less than 1 minute read

发布于:

想搭建一个git server放代码,网上有无数教程都不怎么靠谱。找到一个教程还算比较详细,只是其中有一处遗漏,修改一下就可以正确安装了。

遗漏处为:第五步:在服务器上创建代码仓库:

git init --bare /home/git/sample.git

简易步骤如下:

#服务器端:

1.创建git用户:

sudo useradd git
sudo passwd git

然后赋予管理员权限,即将其加到/etc/sudoers文件中,添加时参考root的配置即可。

2.在服务器上创建代码仓库,这里我在/home/git/repo下执行命令:

git init --bare /home/git/repo/sample.git

成功执行后在服务器上创建了sample.git文件夹。 然后将该文件夹所有者设为git,执行如下命令:

sudo chown -R git:git sample.git

#客户端:

1.生成密钥

ssh-keygen -t rsa

注意,不要输入文件名,一直回车就好,不要输入任何内容,全部使用默认配置,成功后会自动在用户的home目录下创建.ssh文件夹,并将生成的公钥和密钥放到这个文件夹下。

2.将.ssh文件夹下生成的id_rsa.pub文件上传到服务器git用户home目录(/home/git)下,在服务器上使用git用户登录,查看home目录下是否有.ssh文件夹,如果没有,手动创建,如果有进入其中查看是否有名为authorized_keys文件,如果没有,同样手动创建即可。确认authorized_keys文件存在后执行

cat ../id_rsa.pub>>authorized_keys

命令,将客户端用户公钥导入到验证文件。

3.在客户端上新建存储代码的文件夹,进入该文件夹,执行

git clone git@gitserver:/home/git/repo/sample.git

命令,该命令的作用是使用git用户身份从服务器拉取代码,若可正常拉代码且无需输入密码,说明搭建成功。之后就可以像公共仓库一样进行代码管理了。

#将本地项目上传到git:

1.在服务器端创建工程目录并将目录赋权给git用户:

git init --bare /home/git/repo/YouProjectName.git
sudo chown -R git:git /home/git/repo/YouProjectName.git

2.在本地工程目录里执行如下命令:

git init
git add .
git commit -m 'first commit'
git remote add origin git@YourGitServerAddress:/home/git/repo/YouProjectName.git
git push -u origin master

至此,一个新的工程创建完毕,可以各种git了。