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.創建認證文件
//會讓你輸入密碼
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原生服務器相關配置