在(exist)群晖NAS上快速搭建屬于(At)自己的(of)Git Server

天翺的(of)技術員作(do)爲(for)一(one)名碼農,平日裏寫好的(of)程序,改好的(of)程序,都有保存項目曆史版本的(of)習慣,同時(hour)還需要(want)在(exist)其他(he)機器取得新文件并編輯再提交。結合上述需求,我(I)想起了(Got it)Git。說起Git代碼托管服務,目前國外有大(big)名鼎鼎的(of)GitHub,國内也有碼雲、coding等平台。雖然這(this)些平台都有較好的(of)體驗,但是(yes)作(do)爲(for)一(one)個(indivual)折騰帝,不(No)知道爲(for)什麽,就是(yes)想要(want)利用(use)自己群晖NAS來(Come)折騰一(one)下,搭建一(one)個(indivual)屬于(At)自己的(of)Git Server服務器,保存的(of)項目也不(No)需要(want)上傳到(arrive)其他(he)網站服務,從某種意義上來(Come)說也能保障私密,所以(by)就有了(Got it)以(by)下的(of)文章内容。


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


第一(one)、git 相關的(of)命令需要(want)使用(use) SSH 客戶端連接到(arrive)NAS上進操作(do)。


第二、配置git時(hour)需要(want)使用(use) 管理員權限賬戶,而 push / fetch 使用(use)的(of)賬戶一(one)般都爲(for)普通用(use)戶,一(one)定要(want)注意權限問題。


1 配置NAS


1.1 安裝Git Server套件


1.jpg


1.2 創建用(use)來(Come)存放git倉庫的(of)共享目錄


2.jpg


1.3 創建一(one)個(indivual)用(use)來(Come)使用(use)Git的(of)普通權限賬戶


3.jpg


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


4.jpg


1.5  打開NAS的(of)家目錄,并允許使用(use)SSH連接


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


5.jpg


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


6.jpg


2 通過SSH創建Git倉庫


以(by)下操作(do)過程主要(want)隻利用(use)SSH工具來(Come)鏈接至群晖NAS操作(do),SSH工具以(by)Xshell爲(for)例,同時(hour)需要(want)注意的(of)是(yes)SSH登錄賬戶必須具有管理員權限,以(by)下操作(do)截圖隻保留關鍵步驟。


2.1 使用(use)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用(use)戶訪問權限

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


sudo -i  // 取得root權限

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

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

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

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


9.jpg


3 開始使用(use)自己的(of)Git Server服務器


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


3.1 取得倉庫


安裝完Git程序後,我(I)們(them)隻需要(want)打開CMD命令符窗口并輸入以(by)下命令,即可取得Git倉庫:


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


10.jpg


▲圖爲(for)獲成功獲取到(arrive)了(Got it)test.git


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


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


11.jpg


▲圖爲(for)成功成功創建文件并push到(arrive)倉庫


在(exist)使用(use)過程中,我(I)們(them)不(No)一(one)定非要(want)用(use)CMD命令行窗口來(Come)操作(do)Git,一(one)般我(I)們(them)使用(use)的(of)IDE開發工具都集成有Git功能,可以(by)很方便進行Git操作(do)。如果需要(want)外網訪問Git Server,我(I)們(them)需要(want)對NAS的(of)SSH端口進行端口映射。