爲何 Git 和 GitHub 如此重要?編程
若是你正在學習編程,並且你的終極目標是得到一份軟件開發的工做。在這種狀況下,答案很簡單:異步
學習 Git 和 GitHub 很是重要,由於 99% 的公司都會使用 Git 和 GiHub。因此,學習使用 Git 和 GitHub 可讓你更容易被僱傭,而且能將你和初級開發者區別開來。分佈式
高級開發者之因此成爲高級開發者,並非由於他們更瞭解特定語言的語法,而是他們有和真實用戶一塊兒處理大型複雜項目和完成業務目標的經驗。工具
當你仍在學習寫代碼階段時,你很難得到這種經驗。然而,得到現實世界經驗的一個簡單方法就是利用現實世界項目使用的工具和方法。Git 和 GitHub 就是一個例子。學習
你還能夠作的事情:遠程結對編程、爲開源作貢獻、爲你的簡歷構建專業設計網站。測試
即便你贊成「掌握 Git 和 GitHub 有助於找工做」,你可能仍然會想:網站
「爲何 Git 和 Github 對公司如此重要?」.net
簡而言之,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 的簡單規則以下:
規則 #1:爲每一個新項目建立一個 Git 倉庫
規則 #2:爲每一個新特性建立一個新分支
規則 #3:使用 Pull Request 將代碼合併到 Master 分支
即便你的項目很是簡單或者你只是單獨工做,但只要在每次編程時遵循這三條規則,你很快就能夠成爲 Git 和 GitHub 的使用高手。
咱們會簡單分析每條規則,以便你理解該如何作以及爲何這些規則很重要。
規則 #1:爲每一個新項目建立一個 Git 倉庫
第一條規則很簡單,可是養成習慣很是重要。每當你開始一個新項目時,如你的簡歷、學習項目、編程挑戰的解決方案等等,你都應該建立一個新的 Git 倉庫,並將其推送到 GitHub 上。 寶寶起名寶典
擁有專用的 repo 是爲你編寫的每一行代碼使用版本控制的第一步。使用版本控制是你加入公司、開始從事實際項目後的工做方式。及早學習並養成習慣。
規則 #2:爲每一個新特性建立一個新分支。
假設你但願在簡歷裏構建一個新的「Contact me」部分/組件。那麼爲這個新特性建立一個專用的分支,給它一個有意義的名稱(例如 contact-me-section),並將全部代碼提交給這個特定的分支。
使用分支可讓你和團隊成員以並行的方式處理不一樣的特性,同時將每一個特性的代碼與其餘代碼區分開來。這使得不穩定的代碼不會輕易併到主代碼庫中。
即便你是團隊中惟一的成員,一旦你真正開始工做,熟練使用特性分支會使 GitHub 流的過程變得垂手可得。
規則 #3:使用 Pull Request 將代碼合併到 Master 分支
默認狀況下,每一個倉庫都從一個主分支開始。永遠不要直接在主分支上進行改動。相反,你應該使用特性分支,並打開一個新的 PR,將特性分支代碼與主分支代碼合併。
在現實工做中,會有人查看你的 Pull Request,並在批准前進行代碼審查。GitHub 甚至會對你的代碼進行自動測試,讓你知道它是否有問題。若是你的代碼與主分支代碼之間存在合併衝突,你也會收到通知。例如,若是另外一個開發人員推送到主分支的更改影響了你修改過的文件時,就會發生這種狀況。
在代碼通過審查、測試和批准以後,reviewer 會容許你合併 Pull Request,或者他們直接合並你的 Pull Request。
即便你單獨工做,也要習慣於建立 Pull request,以便將更改合併到主分支。這是幾乎全部開源項目使用的基本工做流程。若是你曾經貢獻過某個項目,理解這三個規則將讓你的貢獻很容易被接受。
結語
若是你仍然感到困惑,那就慢慢來,記住這三條規則。不要試圖去想「如何作」,而要專一於「作什麼」和「爲何」。
一旦「作什麼」和「爲何」清楚了,在時機成熟時你就能知道「如何作」了。重複這個過程 2-3 次,你就會對它們駕輕就熟了。