Github 提供了開發者一個遠端可以協作的 git 空間。讓團隊可以一起在上面開發同一個專案。除此之外還有 review、任務管理、文件、自動化佈署等等各式各樣可以幫助開發的功能。如何使用 Github 創建 Repo 等基本用法在網路上已經有很多教學,這篇文章會著重在於團隊們協作開發的流程。
既然我們在 git 裡面獲得了存檔(commit)的功能,就表示 git 也提供了讓我們可以回到過去的能力。使用 reset、revert、checkout 可以讓我們回到過去的版本,本篇文章會介紹這些指令的差異以及使用的時機。
我們在不同的分支上開發新功能、解決 bug ,任務完成後就需要把功能合併回主分支。合併分支的方式主要有兩種:merge 與 rebase 。merge 的特點是不改變過去 commit 的歷史,而 rebase 會在合併的當下重新改寫過去 commit 的紀錄。
Git 中最主要的一項武器就是分支 Branch 的功能了。我們可以藉由開多個分支,同時開發不同的功能並且互不影響。在最開始的時候我們會有一個主要分支叫做 master or main(開始是 master,由於這個字帶一點歧視的味道所以慢慢開始用main 來代替),要做新的功能又不想影響主線的時候,我們就可以開新的分支。
Git 最重要的功能之一就是 commit,也就是存檔的概念。我們可以隨時把檔案儲存,然後有需要時再隨時切回之前的版本。