今天開始來撰寫我們的 function,不過在那之前,想一併介紹 git
的另外兩項功能 branch
以及 checkout
。知道這兩項指令,對以後不管是 Open Source 的開發,或是在工作上的開發都十分有幫助。
不知道大家還記不記得,我在前幾天有介紹 Git
的概念的時候,有提到的 分支,今天介紹的 branch
指令,就是要來完成分支的工作,可以回去之前的文章複習一下:Day 07 - Git 介紹
回到我們本地端的資料夾,可以看到我有一個 main
的顯示,這個代表我現在在 main
這個 branch
。我們去 Repo 頁的 branch 選擇也可以看到,在打勾的地方是 main
。通常這會是我們預設的 root branch
就等於最主要的主枝幹。
我們在開發的時候,不會希望都在主枝幹上有所更改,都會希望以另開分支(branch)的方式來開發新的程式碼,等確定開發完畢後,再合併回主枝幹。這樣的好處有幾點,在分支的改動不會影響到 main
,所以可以盡情修改。另外如果之後在合併後發生問題,我們也能透過 Revert 的方式,把整個分支的改動還原。
我們會使用 git branch {分支名}
來新增新的 branch
,例如:
git branch feature/statcast-fns
分支的命名跟之前介紹的 commit
命名一樣,也是建議有一個規定好的命名方式,給之後一起開發的人有個參考依據,也能透過好的命名,來快速知道該分支有完成哪些作用或功能。我自己是習慣以 {分支類別}/{分支標題簡述}
的形式命名,然後分支的簡述會用 -
來斷詞,如果敘述太長。類別通常會有幾種:
feature
:新功能、新設計會使用這個類別fix
、bugfix
:修改 bugs 或是內容修正會使用refactor
:程式碼重構,架構重構等會使用enhancement
:程式碼或系統套件改良會使用,其實跟 refactor
滿像的,也可以擇一就好test
、experimental
:測試時使用的類別大概簡單分成這幾種,不過一樣沒有硬性規定,也是團隊內部制定好就好,至於後面的簡述部分,有時候會附上需解決的單字號碼,或是 Issues 的 id
,這個也是講好就好。
在我們執行 git branch {分支名}
後,會發現我們還是在 main
這邊,我們可以單獨輸入 git branch
來看我們的分支有沒有創建成功。想要移動到新產生的 branch 的話,就會需要使用到 git checkout {分支名}
前往,以剛剛的例子為範例,就需要執行:
git checkout feature/statcast-fns
執行完畢後就會發現原本的 main
會移動到新的 feature/statcast-fns
上了
我們也可以隨時切換回其他分支,一樣使用 git checkout {分支名}
就好。
再介紹一些我平常會使用的相關指令:
如果發現自己的命名想修正的話,可以使用 -m
來修改
git branch -m {舊名字} {新名字}
想要刪除分支的話可以使用大寫 -D
來刪除,這邊提醒,無法刪除當下所在的分支,需要用 checkout
到另外一個再進行刪除
git branch -D {分支名}
可以在 checkout
指令的後面使用 -b
,這樣就會在產生新的分支後,馬上幫你切換到該分支,就不用先 git branch
再 git checkout
了。另外提醒,branch 的名稱不能重複,都需要是獨特的一串文字才行。
今天介紹了一下如何新增分支來幫助開發,真的是很實用的功能,可以多複習。文章中也提供官方文件,也可以多去試試他們的一些小指令。明天開始就會從 feature/statcast-fns
這個分支開始進行我們 functions 的開發,還敬請期待。
一樣最後感謝大家耐心地看完這次的文章,有任何問題與建議一樣歡迎大家留言,明天見,掰掰。