在(zài)群晖NAS上(shàng)快速搭建屬于(yú)自己的(de)Git Server

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


群晖NAS套件中心是(shì)有Git Server套件的(de),隻要(yào / yāo)在(zài)套件中心安裝即可。但是(shì)需要(yào / yāo)注意的(de)是(shì):


第一(yī / yì /yí)、git 相關的(de)命令需要(yào / yāo)使用 SSH 客戶端連接到(dào)NAS上(shàng)進操作。


第二、配置git時(shí)需要(yào / yāo)使用 管理員權限賬戶,而(ér) push / fetch 使用的(de)賬戶一(yī / yì /yí)般都爲(wéi / wèi)普通用戶,一(yī / yì /yí)定要(yào / yāo)注意權限問題。


1 配置NAS


1.1 安裝Git Server套件


1.jpg


1.2 創建用來(lái)存放git倉庫的(de)共享目錄


2.jpg


1.3 創建一(yī / yì /yí)個(gè)用來(lái)使用Git的(de)普通權限賬戶


3.jpg


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


4.jpg


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


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


5.jpg


然後在(zài)依次打開NAS控制台→控制面闆→終端機和(hé / huò)SNMP-終端機,啓用SSH功能。


6.jpg


2 通過SSH創建Git倉庫


以(yǐ)下操作過程主要(yào / yāo)隻利用SSH工具來(lái)鏈接至群晖NAS操作,SSH工具以(yǐ)Xshell爲(wéi / wèi)例,同時(shí)需要(yào / yāo)注意的(de)是(shì)SSH登錄賬戶必須具有管理員權限,以(yǐ)下操作截圖隻保留關鍵步驟。


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用戶訪問權限

#請注意,以(yǐ)下命令建議手打,//後面的(de)内容爲(wéi / wèi)注釋内容,無需輸入


sudo -i  // 取得root權限

cd /volume1/Git_test/chown xxx:users .  // 将Git_test目錄的(de)所有者改爲(wéi / wèi)管理員賬戶xxx(xxx爲(wéi / wèi)具備管理員權限的(de)賬戶),目錄的(de)所屬群組改爲(wéi / wèi)users。注意不(bù)要(yào / yāo)忘了(le/liǎo)[.]

chmod 770 .  // 将Git_test目錄的(de)所有者、所屬群組的(de)權限改爲(wéi / wèi) 讀/寫/運行

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

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


9.jpg


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


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


3.1 取得倉庫


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


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


10.jpg


▲圖爲(wéi / wèi)獲成功獲取到(dào)了(le/liǎo)test.git


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


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


11.jpg


▲圖爲(wéi / wèi)成功成功創建文件并push到(dào)倉庫


在(zài)使用過程中,我們不(bù)一(yī / yì /yí)定非要(yào / yāo)用CMD命令行窗口來(lái)操作Git,一(yī / yì /yí)般我們使用的(de)IDE開發工具都集成有Git功能,可以(yǐ)很方便進行Git操作。如果需要(yào / yāo)外網訪問Git Server,我們需要(yào / yāo)對NAS的(de)SSH端口進行端口映射。