在群晖NAS上快速搭建屬于自己的Git Server

天翺的技術員(yuán)作爲一(yī)名碼農,平日裏寫好的程序,改好的程序,都有保存項目曆史版本的習慣,同時還需要在其他機器取得新文件并編輯再提交。結合上述需求,我(wǒ)想起了Git。說起Git代碼托管服務,目前國外(wài)有大(dà)名鼎鼎的GitHub,國内也有碼雲、coding等平台。雖然這些平台都有較好的體(tǐ)驗,但是作爲一(yī)個折騰帝,不知(zhī)道爲什麽,就是想要利用自己群晖NAS來折騰一(yī)下(xià),搭建一(yī)個屬于自己的Git Server服務器,保存的項目也不需要上傳到其他網站服務,從某種意義上來說也能保障私密,所以就有了以下(xià)的文章内容。


群晖NAS套件中(zhōng)心是有Git Server套件的,隻要在套件中(zhōng)心安裝即可。但是需要注意的是:


第一(yī)、git 相關的命令需要使用 SSH 客戶端連接到NAS上進操作。


第二、配置git時需要使用 管理員(yuán)權限賬戶,而 push / fetch 使用的賬戶一(yī)般都爲普通用戶,一(yī)定要注意權限問題。


1 配置NAS


1.1 安裝Git Server套件


1.jpg


1.2 創建用來存放(fàng)git倉庫的共享目錄


2.jpg


1.3 創建一(yī)個用來使用Git的普通權限賬戶


3.jpg


1.4 設置 Git Server ,并賦予Git_test用戶訪問Git Server的權限。


4.jpg


1.5  打開(kāi)NAS的家目錄,并允許使用SSH連接


注意:請依次打開(kāi)NAS控制台→控件面闆→用戶賬号→高級設置→家目錄,啓用家目錄服務。


5.jpg


然後在依次打開(kāi)NAS控制台→控制面闆→終端機和SNMP-終端機,啓用SSH功能。


6.jpg


2 通過SSH創建Git倉庫


以下(xià)操作過程主要隻利用SSH工(gōng)具來鏈接至群晖NAS操作,SSH工(gōng)具以Xshell爲例,同時需要注意的是SSH登錄賬戶必須具有管理員(yuán)權限,以下(xià)操作截圖隻保留關鍵步驟。


2.1 使用Xshell登陸NAS 進入Git_test目錄


cd /volume1/Git_test/


7.jpg


2.2 創建倉庫目錄,初始化git倉庫


mkdir test.gitcd test.gitgit init --bare


8.jpg


2.3 設置Git目錄權限,并賦予Git_test用戶訪問權限

#請注意,以下(xià)命令建議手打,//後面的内容爲注釋内容,無需輸入


sudo -i  // 取得root權限

cd /volume1/Git_test/chown xxx:users .  // 将Git_test目錄的所有者改爲管理員(yuán)賬戶xxx(xxx爲具備管理員(yuán)權限的賬戶),目錄的所屬群組改爲users。注意不要忘了[.]

chmod 770 .  // 将Git_test目錄的所有者、所屬群組的權限改爲 讀/寫/運行

chown -R Git_test:users test.git  // 改變test.git目錄及所有包含文件、子目錄的所有者

chmod -R 770 test.git  // 改變test.git目錄及所有包含文件、子目錄的權限


9.jpg


3 開(kāi)始使用自己的Git Server服務器


注意:以下(xià)操作需要本機安裝有Git程序,沒有安裝的小(xiǎo)夥伴可以訪問 https://git-for-windows.github.io/ 下(xià)載安裝。


3.1 取得倉庫


安裝完Git程序後,我(wǒ)們隻需要打開(kāi)CMD命令符窗口并輸入以下(xià)命令,即可取得Git倉庫:


git clone ssh://Git_test@192.168.8.243/volume1/Git_test/test.git


10.jpg


▲圖爲獲成功獲取到了test.git


3.2 add(添加)文件并push到倉庫


git add .git commit -m "add test.txt file"git push


11.jpg


▲圖爲成功成功創建文件并push到倉庫


在使用過程中(zhōng),我(wǒ)們不一(yī)定非要用CMD命令行窗口來操作Git,一(yī)般我(wǒ)們使用的IDE開(kāi)發工(gōng)具都集成有Git功能,可以很方便進行Git操作。如果需要外(wài)網訪問Git Server,我(wǒ)們需要對NAS的SSH端口進行端口映射。