2020年4月7日 星期二

在Synology NAS上使用TortoiseGit

【Server端】
  1. 在Synology上安裝「Git Server」套件。
  2. 建立一個Git Repository的目錄,並將要建立的專案目錄建立在這個目錄下。
  3. 在電腦上,透過ssh登入Synology主機(需在「終端機&SNMP」裡開啟SSH登入功能)。進入該專案目錄下後,初始化這個專案的git repo。
#Server Step1. 在Synology上安裝「Git Server」套件。

#Server Step2. 這個步驟主要是要建立存放Git的位置
  1. 先在「共用資料夾」裡新增一個Git Repository的目錄,假設我們取名「git-repo」
  2. 再在這個目錄下建立專案的目錄,假設我們現在要建立的專案名稱是「TEST_PROJECT」
  3. 資料夾建立後,要記得修改權限。看你之後要用哪一個使用者登入,該使用者要有這個資料夾的讀寫權限。
#Server Step3. 在PC上透過SSH(Putty)登入Synology主機,並cd到該專案的資料夾下,輸入
「git --bare init」,這樣,Server端的專案目錄就算建立完成了

【Client端】

Client端我是使用TortoiseGit,有需要的人可以在右邊下載 → https://tortoisegit.org/
另外,也需要安裝GitHub Desktop version(TortoiseGit會使用一些Git的指令),右邊可以下載 → https://desktop.github.com/
Client端的動作大概可以分為兩種(以下簡稱為A情境與B情境),一個(A)是你第一次要初始化的上傳(上傳最原始的程式碼版本),一種(B)是Server上已經有程式碼版本,你要直接抓取最新的版本下來。

如果是A情境的話,要做的步驟有:
  1. 在已經有程式碼的資料夾建立Git版本庫
  2. 提交這個Git版本庫
#Client A-Step1.1 在已經有程式碼的資料夾上,點選右鍵,選擇「Git在此建立版本庫」

#Cleint A-Step1.2 跳出的對話窗,不要勾選「設為純版本庫」。(純版本庫就是存放各版本狀態的資料庫,在我們的情境下,純版本庫是建立在Synology上的)

#Cleint A-Step2.1 再右鍵點選在專案的程式碼資料夾上,選擇「Git 提交(C) -> "master"...」

#Client A-Step2.2 在上面圈圈那邊填入一些說明;中間圈圈則是選取哪些檔案要新增進去,如果是全部要新增的話,可以點選粗體字的「全部(A)」;最後再點選下面圈圈裡的「提交 & 推送」。

#Client A-Step2.3 檔案要如何推送到遠端呢?就是點選上面「目的目錄」-->「遠端」裡的這個「管理(G)」

#Client A-Step2.4 URL這邊好像支援四、五種Protocol的語法,這邊就用SSH的語法來測試。SSH的語法格式如下:

ssh://username@ip:port/路徑
username:登入synology時的帳號
ip:ip位址,也可以是domain name
port:看你在你的Synology「終端機與SNMP」頁面的port設定是什麼
路徑:該git repo的完整路徑
我們就以剛剛server建立的範例,完整的URL就是
「ssh://username@192.168.9.9:22/volume1/git-repo/TEST_PROJECT」

如果是B情境的話,要做的步驟有:
  1. 複製遠端的Git版本庫
#Client B-1.1 在空白處點選右鍵,選取「Git 克隆」

#Client B-1.2 輸入遠端Git Repository的URL與複製到本地端後的位址,再點選「確定」即可。


其他Git參考資料

Putty鑰(key)製作方式
Git Commit message編寫指南
Git Unity 忽略清單

1 則留言:

  1. 超級感謝您詳細的圖文解說!幫助了我很多!

    回覆刪除