670
技術社區[雲棲]
ubuntu搭建個人git服務器
ubuntu server 端:
apt install git
apt install openssh-server
在服務器上部署git倉庫:
mkdir repos
sudo addgroup git-rw
sudo chgrp -R git-rw repos
ls -l
sudo useradd -M -g git-rw gitteacher
sudo passwd gitteacher
sudo useradd -M -g git-rw gitstudent
sudo passwd gitstudent
客戶端:
mkdir git_teacher
cd git_teacher/
git init
touch README.md
vim README.md
git add -A
git commit -m"initial commit"
cd .. && git clone --bare git_teacher git_teacher.git #退回上一級目錄,克隆一個倉庫出來
scp -r git_teacher.git gitteacher@192.168.1.109:/home/ml/repos #複製裸倉庫到服務端
客戶端2:
git clone gitstudent@192.168.1.109:/home/ml/repos/git_teacher.git
服務端:
sudo chmod -R g+w repos/git_teacher.git
ls -l repos/git_teacher.git/
git push origin master # 將本地主分支推到遠程主分支
git pull # 抓取遠程倉庫所有分支更新並合並到本地
使用 SSH 公鑰管理 Git 倉庫授權:
服務端:
sudo adduser git
su git
cd /home/git/
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
客戶端:
cd ~/.ssh/
ls
mv id_rsa id_rsa.bak #備份私鑰
mv id_rsa.pub id_rsa.pub.bak #備份公鑰
ssh-keygen #重新生成私鑰公鑰
cat id_rsa.pub | ssh git@192.168.1.109 'cat - >> ~/.ssh/authorized_keys' #導入公鑰到服務器
服務端:
禁止git用戶登錄shell,隻允許git登錄git-shell操作
which git-shell
sudo vim /etc/shells
sudo chsh git
/usr/bin/git-shell
exit
使用Git-GUI訪問服務器倉庫:
本文屬於轉載:
https://www.jikexueyuan.com/course/1700_3.html?ss=1
最後更新:2017-11-06 16:35:32