一服務器端html
一、檢查gitgit
which git
安裝
github
yum install git
二、建立git用戶,密碼git,運行git服務shell
useradd git passwd git su - git cd ~ mkdir .ssh
三、建立證書登陸:windows
收集全部須要登陸的用戶的公鑰,就是他們本身的id_rsa.pub文件,把全部公鑰導入到/home/git/.ssh/authorized_keys文件裏,一行一個。centos
centos 執行 ssh-keygen -t rsa -C "youremail@example.com" 生成公私鑰文件安全
window 可經過gitbash 來生成 window客戶端下載地址bash
https://git-for-windows.github.io/
四、建立空的倉庫服務器
mkdir gitrepo cd gitrepo mkdir learngit.git 通常以.git結尾 cd learngit.git git --bare init
爲了避免使開發者每次clone代碼的時候都輸入ip地址,能夠採用DNS的方式。具體操做以下ssh
sudo vi /etc/hosts
在裏面加入下面一行
192.168.137.134 gitserver
二
開發者端A
一、安裝git,windows下載https://git-for-windows.github.io/,centos7 yum install git , ubt apt-get install git 這些系統的用戶目錄生成了公私鑰,把.pub文件,給服務器端
二、
mkdir gitrepo cd gitrepo mkdir learngit cd learngit git init 初始化倉庫 vi readme.md 添加內容 firstlocalgitservertest1 git add readme.md 加到暫存區 git commit -m "gitservertest" 提交 git remote add origin git@192.168.137.134:/home/git/gitrepo/learngit.git 關聯遠程倉庫 git push -u origin master/git push origin master 第一次推送到遠程倉庫/之後推送
開發者端B
一、安裝git 二、mkdir gitrepo cd gitrepo git clone git@192.168.137.134:/home/git/gitRepo/learngit.git learngit 克隆服務端倉庫到本地 cd learngit vi readme.md 增長 secondlocalgitservertest2 git add readme.md 加到暫存區 git commit -m "gitservertest2" 提交 git remote add origin git@192.168.137.134:/home/git/gitrepo/learngit.git 關聯遠程倉庫 git push -u origin master/git push origin master 第一次推送到遠程倉庫/之後推送
回到開發者端A
更新
git pull
驗證下是否可否更新
三問題
一、出於安全考慮,禁用git用戶的shell登陸
sudo vi /etc/passwd
修改git的bash 從/bin/bash改成/usr/bin/git-shell
參考
http://blog.chinaunix.net/uid-28621021-id-3487552.html
http://www.centoscn.com/image-text/install/2014/0514/2972.html