版本控制

分支(branch)

分支(branch)是一條平行的工作線——你自己的一份專案私有副本,讓你能在上面做新東西,而不碰別人正依賴著的那一份。共享的、正式的版本通常待在一個叫 main 的分支上;你從它身上拉出自己的分支,盡情擺弄,等做好了再把成果併回去。

它比聽起來要輕巧得多。分支並不是一個塞滿了拷貝檔案的資料夾——它只是一個可移動的指標,指向某個提交(commit)。建立一個分支是瞬間完成的,在分支之間切換就像把專案原地翻到另一個版本。這種「廉價」是故意設計的:你本就該頻繁地開分支,哪怕只是一個五分鐘的小試驗。

日常的節奏是「一個任務一個分支」。修個 bug?開分支。想試個有風險的點子?開分支。成了,就把它合併進去;沒成,就直接把這個分支扔掉,main 始終一無所知。在你決定分享之前,你弄的亂都只是你自己的事。

$ git switch -c fix-login
Switched to a new branch 'fix-login'
$ git branch
* fix-login
  main

一步建立分支並切換過去;星號 * 標出你現在所在的分支。

main 和 master 只是預設分支約定俗成的名字——同一個角色,不同年代的叫法。較新的儲存庫更傾向用 main。

又稱
git branchfeature branchmainmaster