devops - 企业内部搭建git服务器

devops - 企业内部搭建git服务器

1. 简单快速的方案

  • step 1: 登录远程服务器, 新建git用户
# 新建git用户, 并创建用户主目录 /home/git
sudo useradd -m git

# 设定密码 
sudo passwd git
  • step 2: 创建git仓库,并实现免密登录
# 在本地以git用户身份通过ssh远程登录创建git仓库
ssh git@192.168.0.105 git init --bare test.git

# 在本地生成一个公钥文件
ssh-keygen

# 将公钥文件添加到远程服务器, 实现免密登录
ssh-copy-id git@192.168.0.105
  • step 3: 将远程服务器git仓库克隆到本地,并初始化
# clone 远程仓库
git clone git@192.168.0.105:test.git

# 添加 readme 文件
touch README.md

# 将文件提交
git commit -am 'init test'

# 将commit推送到远程git仓库
git push

2. 全面细致的方案

  • step1: 登录远程服务器,新建git用户,及用户主目录, ssh配置目录, 初始化git仓库
# 新建git用户组
sudo groupadd git

# 新建git用户并设置用户组, 并创建用户主目录 /home/git
sudo useradd -g git -m git

# 给新建的git用户设定密码
sudo passwd git

# 重新以git用户身份登录
ssh git@192.168.0.105

# 新建git用户的 SSH 目录/home/git/.ssh, 并设置权限
mkdir -m 755 .ssh 

# 创建存储公钥文件,并设置权限
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys

# 在git用户主目录下创建git仓库
cd /home/git
git init --bare test.git
  • step 2: 将本地的公钥上传到远程服务器实现无密码访问
# 在本地生成一个公钥文件
ssh-keygen

# 将公钥文件添加到远程服务器
ssh git@192.168.0.105 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

# 如果还是无法免密登录,则查看服务器ssh配置文件 /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
  • step 3: 在本地创建git仓库,并设置远端服务器地址
# 在本地初始化仓库
git init test

# 添加 readme 文件
touch README.md

# 将文件提交
git commit -am 'init test'

# 为本地仓库设置远程服务器地址
git remote add origin git@192.168.0.105:test.git

# 将commit推送到远程git仓库
git push
posted @ 2023-12-04 17:22  箫笛  阅读(60)  评论(0编辑  收藏  举报