2023/03/13

第一次玩轉 Git 就上手

作者:吳祐賓




前陣子在調整 Synology NAS 主機時,發現裡面有個「Git Server」套件。心想 SVN 玩久了,也該了解新東西,看看現在新的版本控制是怎麼玩的。

Synology Git Server 建置步驟

安裝 Git Server 套件

Synology NAS 的套件中心,搜尋「Git Server」可以看到此套件。


啟用 SSH 功能

Git Server 啟動前會要求先啟用 SSH 加密:控制台 > 終端機 & SNMP > 啟用 SSH 功能。連接埠預設為「22」(新版可能為 25,也可以自行調整使用),啟用並套用即可。

指定存取帳戶

接著要指定允許存取 Git Server 的帳戶。

建立共用資料夾

開啟 "控制台" > "新增共用資料夾",建立一共用資料夾,這裡建立名為「Git」的共用資料夾。並設定此資料夾的讀寫權限後就可以在裡面新增專案資料夾了。





新增專案資料夾

以本例來說,可以先使用 "File Station" 在共用資料夾中新增資料夾,以本例來說:Git > MyFirstProject。

使用 SSH 連線應用程式連到 Synology 進行 Git 設定 - 以 PuTTY 為例

前面製作的 "Git" 目錄真實路徑為 "volume1/Git",MyFirstProject 路徑就會是 "volume1/Git/MyFirstProject",移動到此目錄,接著使用 "git --bare init" 指令建立 Git Repository。


Git Client 建置步驟

下載安裝 Git for Windows

前往 https://gitforwindows.org/ 下載最新版的 Git for Windows,並執行安裝程式。在安裝過程中,需要注意以下幾點:

  • 在 "Select Components" 選單中,建議勾選 "Git LFS" 和 "Windows Explorer integration"。
  • 在 "Adjusting your PATH environment" 選單中,建議選擇 "Git from the command line and also from 3rd-party software"。

勾選 "Git LFS" 代表安裝 Git Large File Storage(LFS),這是一種支援大型檔案管理的 Git 擴充套件,讓使用者能夠更有效率地管理大型檔案,尤其是二進位檔案,例如圖片、影片、音樂等等。若有使用 Git 來管理此類型檔案,建議勾選此選項。

勾選 "Windows Explorer integration" 可以在檔案總管中加入 Git 相關功能的右鍵選單,例如加入到 Git,瀏覽檔案的差異,查看提交的記錄等等。

選擇 "Git from the command line and also from 3rd-party software" 則是讓 Git 可以被其他軟體使用,例如 IDE、文本編輯器等等,這樣就可以在這些軟體中直接使用 Git 相關功能,不必另外打開 Git 命令提示字元介面。

以下教學使用 TortoiseGit 作為 Git Client,TortoiseGit 是 Windows 平台上的 Git 圖形化客戶端,使用上相對簡單。

安裝 TortoiseGit

下載安裝 TortoiseGit:前往 https://tortoisegit.org/ 下載最新版的 TortoiseGit,並執行安裝程式。在安裝過程中,需要注意以下幾點:

  • 在 "Select Components" 選單中,建議勾選 "Command line interface"、"Windows shell integration" 和 "Git cheetah shell extension"。
  • 在 "Choose TortoiseGit's SSH client" 選單中,建議選擇 "Use OpenSSH"。
  • 在 "Adjusting your PATH environment" 選單中,建議選擇 "Use Git from the Windows Command Prompt"。

在 "Select Components" 中勾選 "Command line interface" 可以讓使用者在 command prompt 中使用 Git 相關指令,方便一些批次處理操作,例如在 CI/CD 中使用 Git 指令進行自動化部署。
*CI/CD 是一種軟體開發中的流程,全名為 Continuous Integration / Continuous Delivery(持續整合 / 持續交付)

勾選 "Windows shell integration" 和 "Git cheetah shell extension" 可以在 Windows 系統檔案總管中加入 TortoiseGit 的選單,方便使用者對 Git 版本控制下的檔案進行操作。

在 "Choose TortoiseGit's SSH client" 選單中,選擇 "Use OpenSSH" 可以讓 TortoiseGit 使用 OpenSSH 來連接 Git Server,這是一個常見的 SSH 連接方式,也比較安全。

在 "Adjusting your PATH environment" 選單中,選擇 "Use Git from the Windows Command Prompt" 可以讓使用者在命令提示字元 (Command Prompt) 中使用 Git 相關指令,方便開發者進行版本控制相關的操作。

首次對現有專案進行建立版本庫(Repository)

打開檔案總管並進入專案資料夾,在此資料夾的空白處按下滑鼠右鍵,在跳出的右鍵選單裡選擇 "Git Create repository here..." 以建立該專案的 Git 版本庫,"Make it Bare" 不用勾選,按下 Ok 後會有訊息提示已初始化版本庫。




TortoiseGit Commit (提交)和 Push (推送)流程

以下是 TortoiseGit Commit 和 Push 的流程:

  • Commit:本機端版本控制增加記錄。
    • 在檔案總管中選擇要提交的檔案或目錄。
    • 滑鼠右鍵點擊選擇 "TortoiseGit > Commit > master..."。
    • 在 "Commit" 視窗中,輸入 commit 訊息並選擇要提交的檔案。
    • 確認無誤後按下 "Commit" 鈕進行提交。

  • Push:本機端已 Commit 的版本提交給遠端。
    • 在檔案總管中選擇要推送的分支。
    • 滑鼠右鍵點擊選擇 "Git Sync -> Push..."。
    • 在 "Push" 視窗中,確認要推送的分支和遠端版本庫的設定。
    • 確認無誤後按下 "OK" 鈕進行推送。

以上就是使用 TortoiseGit 進行 Git Commit 和 Push 的流程。需要注意的是,在提交前建議先進行 Pull,確保本地版本與遠端版本同步。另外,推送時也可以選擇 "Git Sync -> Push & Commit...",這樣就可以一次進行提交和推送的動作。 

寫給單人開發者:本地端的 Git Repository 已足夠應付日常需求

當你只是在獨立開發一個專案時,通常可以只使用本地端的 Git Repository 來進行版本控制。使用本地端的 Repository 可以讓你輕鬆地追蹤你的變更歷程、回溯到過去的版本、分支管理、撤銷變更等等。

對於單人開發者而言,獨立的開發環境下,遠端的 Repository 通常是不必要的。透過 Git 工具可以將你的程式碼版本化,這樣你就可以隨時追蹤你的變更歷程,不用擔心會不小心破壞你的程式碼。

此外,當你使用 Git 來管理你的程式碼時,可以很容易地回溯到過去的版本或繼續以往未完成的工作,而且可以在不需要網路連線的情況下進行操作,非常方便。

當然,如果你需要在不同的電腦上進行開發,或是希望與其他人協作,就需要使用遠端的 Git Repository 了。在這種情況下,你可以將本地端的 Repository push 到遠端的 Repository 中,讓其他人也可以看到你的變更並且進行協作。

總之,對於單人開發者而言,使用本地端的 Git Repository 已經足夠應付日常的版本控制需求,不需要特別建立遠端的 Repository。透過 Git 工具的版本控制,可以讓你更輕鬆地管理你的程式碼,並且在日後需要回溯或調整時,也能更輕鬆地找到過去的版本。

之後你可能會需要 ".gitignore" 等一些進階管理技巧,這已經超過第一次玩的範圍,我們下次再接續聊。希望這篇文章能對您有所幫助,謝謝您的閱讀!

See Also

沒有留言:

張貼留言