Ariel Camus 在Medium上介紹了每天使用 Git 和 GitHub 的重要性,還分享了三個幫助大家成為 Git 和 GitHub 高手的簡單規則。
本文不會介紹如何建立 GitHub 簡歷或如何使用終端提交 Git。我將解釋每天使用 Git 和 GitHub 的重要性,尤其對於正在學習寫程式碼的人。我還將分享並討論三個簡單的規則,你可以透過遵循這些規則,變成一個優秀的 Git 和 GitHub 使用者。
為什麼 Git 和 GitHub 如此重要?
如果你正在學習程式設計,而且你的終極目標是獲得一份軟體開發的工作。在這種情況下,答案很簡單:
學習 Git 和 GitHub 非常重要,因為 99% 的公司都會使用 Git 和 GiHub。所以,學習使用 Git 和 GitHub 可以讓你更容易被僱傭,並且能將你和初級開發者區別開來。
高階開發者之所以成為高階開發者,並不是因為他們更瞭解特定語言的語法,而是他們有和真實使用者一起處理大型複雜專案和完成業務目標的經驗。
當你仍在學習寫程式碼階段時,你很難獲得這種經驗。然而,獲得現實世界經驗的一個簡單方法就是利用現實世界專案使用的工具和方法。Git 和 GitHub 就是一個例子。
你還可以做的事情:遠端結對程式設計、為開源做貢獻、為你的簡歷構建專業設計網站。
即使你同意「掌握 Git 和 GitHub 有助於找工作」,你可能仍然會想:
「為什麼 Git 和 Github 對公司如此重要?」
簡而言之,Git 允許團隊以非同步方式高效地為同一個專案貢獻程式碼。這使得團隊能夠更好地協作,從而解決更大更復雜的問題。
Git 是一個分散式版本控制系統,它還提供取消更改、建立程式碼分支、解決合併衝突等機制。這些都是非常有用的特性,可以解決每個軟體團隊每天都面臨的特定問題和常見問題。Git 是當今的主流解決方案。
另一方面,GitHub 是 Git 之上的附加層,它為其他特定和常見問題提供解決方案,比如程式碼審查、pull request、問題管理/bug 跟蹤等等。
注:儘管 Git 是大多數公司的首選版本控制解決方案,但 GitHub 仍然有一些強大的競爭對手,比如 GitLab 和 Bitbucket。但是,如果你知道如何使用 GitHub,那麼你就能駕輕就熟地使用 GitLab 或 Bitbucket。
現在你已經瞭解了掌握 Git 和 Github 的重要性,接下來我們來看三個簡單規則,它們可以讓你在學習編寫程式碼階段,就輕鬆成為專業的 Git 和 Github 使用者。
如何利用 3 條簡單規則掌握 Git 和 Github?
我是 Microverse 的創始人,Microverse 是一所面向遠端軟體開發人員的學校,在你找到工作前完全免費使用。我們在 22 周計劃中,不僅教學生如何程式設計,同時也會給他們大量的指導和構思,讓他們在計劃中獲得實際經驗。
為了成為專業的 Git 和 Github 使用者,我們要求學生遵循以下三個規則。培訓結束後,我們的學生應該能自然而然運用 Git、GitHub、branch、合併請求和程式碼評審。
如果你對 Git 和 Github 還不熟悉,請先從 HubSpot 上完成這個很棒的教程:https://product.hubspot.com/blog/git-github;
如果你還不瞭解 GitHub 流,你應該先學習它,因為我們後邊會用到:https://guides.github.com/tion/flow/。
無需多言,三條能令你在學習程式設計階段就能熟練掌握 Git 和 Github 的簡單規則如下:
規則 #1:為每個新專案建立一個 Git 倉庫
規則 #2:為每個新特性建立一個新分支
規則 #3:使用 Pull Request 將程式碼合併到 Master 分支
即使你的專案非常簡單或者你只是單獨工作,但只要在每次程式設計時遵循這三條規則,你很快就可以成為 Git 和 GitHub 的使用高手。
我們會簡單分析每條規則,以便你理解該如何做以及為什麼這些規則很重要。
第一條規則很簡單,但是養成習慣非常重要。每當你開始一個新專案時,如你的簡歷、學習專案、程式設計挑戰的解決方案等等,你都應該建立一個新的 Git 倉庫,並將其推送到 GitHub 上。
擁有專用的 repo 是為你編寫的每一行程式碼使用版本控制的第一步。使用版本控制是你加入公司、開始從事實際專案後的工作方式。及早學習並養成習慣。
注:如果使用終端比較麻煩,你無法在所有專案中使用 Git,可以考慮使用 Github 桌面應用程式(https://desktop.github.com/)。
規則 #2:為每個新特性建立一個新分支。
假設你希望在簡歷裡構建一個新的「Contact me」部分/元件。那麼為這個新特性建立一個專用的分支,給它一個有意義的名稱(例如 contact-me-section),並將所有程式碼提交給這個特定的分支。
如果你不知道何為分支,請返回到 Github 流(https://guides.github.com/guidetion/flow/),閱讀我之前推薦的內容。
使用分支可以讓你和團隊成員以並行的方式處理不同的特性,同時將每個特性的程式碼與其他程式碼區分開來。這使得不穩定的程式碼不會輕易併到主程式碼庫中。
即使你是團隊中唯一的成員,一旦你真正開始工作,熟練使用特性分支會使 GitHub 流的過程變得輕而易舉。
預設情況下,每個倉庫都從一個主分支開始。永遠不要直接在主分支上進行改動。相反,你應該使用特性分支,並開啟一個新的 PR,將特性分支程式碼與主分支程式碼合併。
在現實工作中,會有人檢視你的 Pull Request,並在批准前進行程式碼審查。GitHub 甚至會對你的程式碼進行自動測試,讓你知道它是否有問題。如果你的程式碼與主分支程式碼之間存在合併衝突,你也會收到通知。例如,如果另一個開發人員推送到主分支的更改影響了你修改過的檔案時,就會發生這種情況。
在程式碼經過審查、測試和批准之後,reviewer 會允許你合併 Pull Request,或者他們直接合並你的 Pull Request。
即使你單獨工作,也要習慣於建立 Pull request,以便將更改合併到主分支。這是幾乎所有開源專案使用的基本工作流程。如果你曾經貢獻過某個專案,理解這三個規則將讓你的貢獻很容易被接受。
結語
如果你仍然感到困惑,那就慢慢來,記住這三條規則。不要試圖去想「如何做」,而要專注於「做什麼」和「為什麼」。
一旦「做什麼」和「為什麼」清楚了,在時機成熟時你就能知道「如何做」了。重複這個過程 2-3 次,你就會對它們得心應手了。
Ariel Camus 在Medium上介紹了每天使用 Git 和 GitHub 的重要性,還分享了三個幫助大家成為 Git 和 GitHub 高手的簡單規則。
本文不會介紹如何建立 GitHub 簡歷或如何使用終端提交 Git。我將解釋每天使用 Git 和 GitHub 的重要性,尤其對於正在學習寫程式碼的人。我還將分享並討論三個簡單的規則,你可以透過遵循這些規則,變成一個優秀的 Git 和 GitHub 使用者。
為什麼 Git 和 GitHub 如此重要?
如果你正在學習程式設計,而且你的終極目標是獲得一份軟體開發的工作。在這種情況下,答案很簡單:
學習 Git 和 GitHub 非常重要,因為 99% 的公司都會使用 Git 和 GiHub。所以,學習使用 Git 和 GitHub 可以讓你更容易被僱傭,並且能將你和初級開發者區別開來。
高階開發者之所以成為高階開發者,並不是因為他們更瞭解特定語言的語法,而是他們有和真實使用者一起處理大型複雜專案和完成業務目標的經驗。
當你仍在學習寫程式碼階段時,你很難獲得這種經驗。然而,獲得現實世界經驗的一個簡單方法就是利用現實世界專案使用的工具和方法。Git 和 GitHub 就是一個例子。
你還可以做的事情:遠端結對程式設計、為開源做貢獻、為你的簡歷構建專業設計網站。
即使你同意「掌握 Git 和 GitHub 有助於找工作」,你可能仍然會想:
「為什麼 Git 和 Github 對公司如此重要?」
簡而言之,Git 允許團隊以非同步方式高效地為同一個專案貢獻程式碼。這使得團隊能夠更好地協作,從而解決更大更復雜的問題。
Git 是一個分散式版本控制系統,它還提供取消更改、建立程式碼分支、解決合併衝突等機制。這些都是非常有用的特性,可以解決每個軟體團隊每天都面臨的特定問題和常見問題。Git 是當今的主流解決方案。
另一方面,GitHub 是 Git 之上的附加層,它為其他特定和常見問題提供解決方案,比如程式碼審查、pull request、問題管理/bug 跟蹤等等。
注:儘管 Git 是大多數公司的首選版本控制解決方案,但 GitHub 仍然有一些強大的競爭對手,比如 GitLab 和 Bitbucket。但是,如果你知道如何使用 GitHub,那麼你就能駕輕就熟地使用 GitLab 或 Bitbucket。
現在你已經瞭解了掌握 Git 和 Github 的重要性,接下來我們來看三個簡單規則,它們可以讓你在學習編寫程式碼階段,就輕鬆成為專業的 Git 和 Github 使用者。
如何利用 3 條簡單規則掌握 Git 和 Github?
我是 Microverse 的創始人,Microverse 是一所面向遠端軟體開發人員的學校,在你找到工作前完全免費使用。我們在 22 周計劃中,不僅教學生如何程式設計,同時也會給他們大量的指導和構思,讓他們在計劃中獲得實際經驗。
為了成為專業的 Git 和 Github 使用者,我們要求學生遵循以下三個規則。培訓結束後,我們的學生應該能自然而然運用 Git、GitHub、branch、合併請求和程式碼評審。
如果你對 Git 和 Github 還不熟悉,請先從 HubSpot 上完成這個很棒的教程:https://product.hubspot.com/blog/git-github;
如果你還不瞭解 GitHub 流,你應該先學習它,因為我們後邊會用到:https://guides.github.com/tion/flow/。
無需多言,三條能令你在學習程式設計階段就能熟練掌握 Git 和 Github 的簡單規則如下:
規則 #1:為每個新專案建立一個 Git 倉庫
規則 #2:為每個新特性建立一個新分支
規則 #3:使用 Pull Request 將程式碼合併到 Master 分支
即使你的專案非常簡單或者你只是單獨工作,但只要在每次程式設計時遵循這三條規則,你很快就可以成為 Git 和 GitHub 的使用高手。
我們會簡單分析每條規則,以便你理解該如何做以及為什麼這些規則很重要。
規則 #1:為每個新專案建立一個 Git 倉庫
第一條規則很簡單,但是養成習慣非常重要。每當你開始一個新專案時,如你的簡歷、學習專案、程式設計挑戰的解決方案等等,你都應該建立一個新的 Git 倉庫,並將其推送到 GitHub 上。
擁有專用的 repo 是為你編寫的每一行程式碼使用版本控制的第一步。使用版本控制是你加入公司、開始從事實際專案後的工作方式。及早學習並養成習慣。
注:如果使用終端比較麻煩,你無法在所有專案中使用 Git,可以考慮使用 Github 桌面應用程式(https://desktop.github.com/)。
規則 #2:為每個新特性建立一個新分支。
假設你希望在簡歷裡構建一個新的「Contact me」部分/元件。那麼為這個新特性建立一個專用的分支,給它一個有意義的名稱(例如 contact-me-section),並將所有程式碼提交給這個特定的分支。
如果你不知道何為分支,請返回到 Github 流(https://guides.github.com/guidetion/flow/),閱讀我之前推薦的內容。
使用分支可以讓你和團隊成員以並行的方式處理不同的特性,同時將每個特性的程式碼與其他程式碼區分開來。這使得不穩定的程式碼不會輕易併到主程式碼庫中。
即使你是團隊中唯一的成員,一旦你真正開始工作,熟練使用特性分支會使 GitHub 流的過程變得輕而易舉。
規則 #3:使用 Pull Request 將程式碼合併到 Master 分支
預設情況下,每個倉庫都從一個主分支開始。永遠不要直接在主分支上進行改動。相反,你應該使用特性分支,並開啟一個新的 PR,將特性分支程式碼與主分支程式碼合併。
在現實工作中,會有人檢視你的 Pull Request,並在批准前進行程式碼審查。GitHub 甚至會對你的程式碼進行自動測試,讓你知道它是否有問題。如果你的程式碼與主分支程式碼之間存在合併衝突,你也會收到通知。例如,如果另一個開發人員推送到主分支的更改影響了你修改過的檔案時,就會發生這種情況。
在程式碼經過審查、測試和批准之後,reviewer 會允許你合併 Pull Request,或者他們直接合並你的 Pull Request。
即使你單獨工作,也要習慣於建立 Pull request,以便將更改合併到主分支。這是幾乎所有開源專案使用的基本工作流程。如果你曾經貢獻過某個專案,理解這三個規則將讓你的貢獻很容易被接受。
結語
如果你仍然感到困惑,那就慢慢來,記住這三條規則。不要試圖去想「如何做」,而要專注於「做什麼」和「為什麼」。
一旦「做什麼」和「為什麼」清楚了,在時機成熟時你就能知道「如何做」了。重複這個過程 2-3 次,你就會對它們得心應手了。