centos 搭建git服務器


首先服務器需安裝git

  參考鏈接:https://www.cnblogs.com/-mrl/p/11045998.html

搭建git服務器

1.新建git倉庫主目錄,可以選擇創建在/data目錄下。也可以選擇放置在/var目錄下【mkdir -p :遞歸創建目錄,即使上級目錄不存在,會按目錄層級自動創建目錄】

mkdir -p /data/gitrepos 

2.新建訪問用戶,下面新增zhangsan,lisi兩個git用戶,添加后用戶會生成/home/zahngsan家目錄;

useradd zhangsan
useradd lisi

或【適用於使用密碼登錄的情況】

seradd -M zhangsan        //-M 表示不創建家目錄

3.給用戶設置密碼,分別設置登陸密碼,拉取代碼和提交代碼需要提供密碼;

passwd zhangsan
passwd lisi

4.變更git倉庫的所有者到任何人 ,賦予nobody就是把權限給了所有人;

chown -R nobody:nobody /data/gitrepos

5.修改git倉庫的讀寫權限,這樣子git倉庫就能讀寫了,否則會報錯拒絕提交的;

chmod -R 755 /data

6.修改用戶shell登陸權限(禁止客戶端shell登錄),找到最后頭的zhangsan、lisi,把冒號后面的/bin/bash改成/usr/local/git/bin/git-shell,就是你的git安裝目錄下的/bin/git-shell,然后保存退出。【每次都想輸入密碼則可忽略】

vi /etc/passwd

 如:

7.添加用戶的SSH公鑰,免密碼登錄【使用密鑰對來增強安全性,並且免去輸密碼的麻煩,如需每次輸入密碼登錄該步驟可省去】。【每次都想輸入密碼則可忽略】

創建公鑰目錄

mkdir -p /home/zhangsan/.ssh

切換目錄后創建密鑰存放文件

cd /home/zhangsan/.ssh
vi authorized_keys

將從zahngsan、lisi的電腦的C:/users/用戶名/.ssh目錄下找到id_rsa.pub,分別設置到對應的用戶的.ssh目錄中authorized_keys文件中;


(PS1:如果張三沒有id_rsa.pub文件的話,那就用cmd執行git config --global user.name "zahngsan" git config --global user.email "張三的能接收郵件的郵箱",然后執行 ssh-keygen,然后按三下回車【PS:它先要求你確認保存公鑰的位置(.ssh/id_rsa),然后它會讓你重復一個密碼兩次,如果不想在使用公鑰的時候輸入密碼,可以留空。】,就有那個文件了)

(PS2:也可是使用以下方法獲取id_rsa.pub文件

  下載git客戶端安裝好后右鍵選擇Git GUI Here->Help->Show SSH Key

 

命令截圖如下:

 

驗證git服務器

1.linux git服務器創建裸倉庫目錄 創建裸倉庫目錄,test為項目名

mkdir -p /data/gitrepos/test

2.linux git服務器創建裸倉庫 ,git服務器初始化倉庫的時候一定要加上--bare,否則你的倉庫不能推送代碼,test為項目名;

git init --bare /data/gitrepos/test/test.git

3.linux git服務器修改git倉庫的讀寫權限,這樣子git倉庫就能讀寫了,否則會報錯拒絕提交的,如果push出錯有可能這里的權限問題;

chmod -R 777 /data/gitrepos/test

4.在window安裝git客戶端,打開git bash切換到指定目錄,輸入git clone zhangsan@服務器IP:/data/gitrepos/test/test.git【PS:如git clone zhangsan@192.168.0.119:/data/gitrepos/test/test.git】,

然后按照提示輸入密碼就能clone項目;【PS:設置了SSH公鑰免密碼登錄則不需要輸入密碼】
5.在window然后增加個readme.txt或者其他文件,然后隨意添加文字內容,然后在git bash切換到test目錄,執行git add readme.txt, git commit -m"新增readme文件", git push -u origin master,就看執行push以后是否成功就行了。

linux 命令如下:

git bash命令如下:

 

 

把用戶添加到用戶組【可不設置】
1.新建訪問用戶組: groupadd developer(創建developer用戶組,你也可以改成其他的);
2.變更git倉庫的所有人為developer用戶組: chgrp -R developer /data/gitrepos/test, 這是修改權限給git用戶組的。
3.添加用戶到用戶組: usermod -G developer zhangsan, usermod -G developer lisi

如果團隊很小,把每個人的公鑰收集起來放到服務器的authorized_keys文件里就是可行的。如果團隊有幾百號人,就沒法這么玩了,這時,可以用Gitosis來管理公鑰。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM