1. 程式人生 > >git原生服務器相關配置

git原生服務器相關配置

src 其他 操作 嘗試 文件的 ima 虛擬主機 遠程服務器 提交

git服務器配置;
git-daemon
git-http-backend

一、git-daemon
1.通過安裝yum安裝git-daemon
# yum -y install git-daemon

2.將/var/lib/git這個目錄,變成git倉庫,即初始化一個裸倉庫;
# cd /var/lib/git
# git init --bare
起初這個目錄是沒有文件的;初始化之後
技術分享圖片
技術分享圖片

3.啟動服務
# systemctl start git.socket
技術分享圖片
//9418端口被監聽

4.將遠程服務器(172.16.1.14)中的倉庫克隆到本地(172.16.1.13)
# git clone git://172.16.1.14/ xwlgit


技術分享圖片
//目錄有了

技術分享圖片
//git倉庫有了

5.進入本地git倉庫中
技術分享圖片

技術分享圖片
//查看config文件

remote就是一個遠程跟蹤分支;
fetch:將遠程服務器中的這個內容+refs/heads/復制成本地的這個內容refs/remotes/origin/,也即定義一個版本庫與其他版本庫的名稱空間的映射關系;
refs/remotes下面所加的所有引用都叫做遠程追蹤分支,也就是通過refs/remotes/origin/*追蹤的是位於遠程某個倉庫上的分支;而在復制的時候,也只能復制一個分支,通常都是復制master分支;

註意:基於git的共享倉庫,默認只支持讀操作,如果想要從本地git push文件到服務器,你還需要配置相關選項,並且配置比較麻煩;或者你通過ssh或者scp的方式將文件發送到服務器;如果想要實現一個能夠動態更新的共享倉庫,通過http協議是不錯的;

二、git -httpd- backend

在git服務器上配置
1.首先yum安裝httpd
# yum -y install httpd
他還需要支持三個模塊: //我是在CentOS7上做,這三個模塊默認支持,如果不支持,你需要自行全裝;
alias_module (shared)
env_module (shared)
cgi_module (shared)

2.初始化一個倉庫
# mkdir /var/www/git
# cd /var/www/git
技術分享圖片
//想要能夠push文件,需要將目錄所有者設置apache,讓其對該目錄有寫權限

3.配置虛擬主機文件;
# vim /etc/httpd/conf.d/git.conf
技術分享圖片

4.創建認證文件

# htpasswd -c -m /etc/httpd/conf/.htpasswd tom
//會讓你輸入密碼
技術分享圖片

5.在客戶端設置hosts文件,讓其能夠正常的解析
# vim /etc/hosts
技術分享圖片

6.然後嘗試克隆遠程倉庫到本地(客戶端)
技術分享圖片

技術分享圖片
//會生成一個去掉.git結尾的test命名的文件

# cd /test
技術分享圖片

7.在客戶端創建一個文件,隨便寫點東西,提交文件,並嘗試push文件到服務器端;

註意:在推送之前,在服務器端的倉庫根目錄中,我這裏是/var/www/git/test.git,添加一個參數
# cd /var/www/git/test.git
技術分享圖片

回到客戶端:
# cd /root/test
# vim xwl
技術分享圖片
技術分享圖片

在客戶端查看信息:
# cd /root/test
技術分享圖片
//本地分支是master,映射的遠程分支是origin,所以git push的時候順序別搞錯

嘗試push:
技術分享圖片
//箭頭方向就是認證,輸入剛才創建的用戶以及密碼即可

技術分享圖片
//服務器端有了文件

技術分享圖片
//這是push上來的提交文件

git原生服務器相關配置