Ubuntu git 仓库服务器搭建


git 仓库服务器搭建与使用

git 仓库服务器搭建

1.安装 git

首先在服务器上安装 git

sudo apt-get install git

2.创建 git 账户

接下来得创建一个专门用来进行 git 仓库版本控制的 Linux 用户,为了方便,这里建议切换到 root 用户 (下面的所有操作都是在 root 账户下完成)

sudo -i
adduser git

接下来会要求输入密码等信息,直接按照提示输入即可。

3.创建登录证书

为了保证仓库的安全性,必须得要求登陆仓库时使用密钥登陆。首先执行下面的命令创建密钥的存放路径:

cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys  

接下来收集所有需要登录的用户的公钥,就是他们自己的 id_rsa.pub 文件,把所有公钥导入到/home/git/.ssh/authorized_keys 文件里,一行一个。

4.禁用 git 用户 shell 登陆

出于安全考虑,创建的 git 用户是不允许登陆 shell 的

vi /etc/passwd

找到 passwd 文件中的:

git:x:1003:1004:,,,:/home/git:/bin/bash

将其修改为:

git:x:1003:1004:,,,:/home/git:/usr/bin/git-shell

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

5.初始化 git 仓库

首先创建一个空的文件夹来做为 git 仓库的目录,这里选择在 /home 目录下创建,文件夹名根据实际项目来起,这里使用 gitproject:

cd /home
mkdir gitproject

为 gitproject 指定用户和用户组:

chown git:git gitproject

之后进入该文件夹下创建一个新的裸仓库:

cd gitproject

git init --bare gitproject.git

–bare 是指定创建一个裸仓库,裸仓库表示在服务器不存储代码,只存储版本更改信息,因此在服务器看不到对应的项目代码,而且这里必须创建一个裸仓库,否则 push 项目到服务器的时候会报错

新建了一个裸仓库之后还得将其对应的用户和用户组更改为 git:

chown -R git:git gitproject.git

6.克隆仓库

接下来就可以在客户端克隆服务器的项目了

git clone git:server-ip:/home/gitproject/gitproject.git

此时会提示克隆了一个空的项目

接下来就可以在客户端写入一些文件 commit 到 git 服务器上去了。

这里有关的 git 操作推荐去看:git - 简明指南

git 客户端设置

1.安装 git 应用

这里直接到 git 官网下载对应操作系统版本的软件安装就好:

2.git 账户配置

首先设置 git 的 user name 和 email:

git config --global user.name "username"
git config --global user.email "email@qq.com"

接下来生成对应的密钥:

ssh-keygen -t rsa -C "email@qq.com"

3.密钥使用

创建好密钥之后可以将公钥保存到 git 服务器的 authorized_keys 中使其可以访问 git 服务器,或者填写到 github 上,来向 github 上传项目。

密钥的位置:

  • Linux/Mac:~/.ssh/id_rsa.pub
  • windows:C:/User/Administrator/.ssh/id_rsa.pub(在安装git时指定)