
敲黑板!你和GitHub高手就差這三條規(guī)則······
本文不會(huì)介紹如何創(chuàng)建 GitHub 簡(jiǎn)歷或如何使用終端提交 Git。我將解釋每天使用 Git 和 GitHub 的重要性,尤其對(duì)于正在學(xué)習(xí)寫(xiě)代碼的人。我還將分享并討論三個(gè)簡(jiǎn)單的規(guī)則,你可以通過(guò)遵循這些規(guī)則,變成一個(gè)優(yōu)秀的 Git 和 GitHub 使用者。
為什么 Git 和 GitHub 如此重要?
如果正在學(xué)習(xí)編程,而且你的終極目標(biāo)是獲得一份軟件開(kāi)發(fā)的工作。在這種情況下,答案很簡(jiǎn)單:
學(xué)習(xí) Git 和 GitHub 非常重要,因?yàn)?99% 的公司都會(huì)使用 Git 和 GiHub。所以,學(xué)習(xí)使用 Git 和 GitHub 可以讓你更容易被雇傭,并且能將你和初級(jí)開(kāi)發(fā)者區(qū)別開(kāi)來(lái)。
高級(jí)開(kāi)發(fā)者之所以成為高級(jí)開(kāi)發(fā)者,并不是因?yàn)樗麄兏私馓囟ㄕZ(yǔ)言的語(yǔ)法,而是他們有和真實(shí)用戶一起處理大型復(fù)雜項(xiàng)目和完成業(yè)務(wù)目標(biāo)的經(jīng)驗(yàn)。
當(dāng)你仍在學(xué)習(xí)寫(xiě)代碼階段時(shí),你很難獲得這種經(jīng)驗(yàn)。然而,獲得現(xiàn)實(shí)世界經(jīng)驗(yàn)的一個(gè)簡(jiǎn)單方法就是利用現(xiàn)實(shí)世界項(xiàng)目使用的工具和方法。Git 和 GitHub 就是一個(gè)例子。
你還可以做的事情:遠(yuǎn)程結(jié)對(duì)編程、為開(kāi)源做貢獻(xiàn)、為你的簡(jiǎn)歷構(gòu)建專業(yè)設(shè)計(jì)網(wǎng)站。
即使你同意「掌握 Git 和 GitHub 有助于找工作」,你可能仍然會(huì)想:
「為什么 Git 和 Github 對(duì)公司如此重要?」
簡(jiǎn)而言之,Git 允許團(tuán)隊(duì)以異步方式高效地為同一個(gè)項(xiàng)目貢獻(xiàn)代碼。這使得團(tuán)隊(duì)能夠更好地協(xié)作,從而解決更大更復(fù)雜的問(wèn)題。
Git 是一個(gè)分布式版本控制系統(tǒng),它還提供取消更改、創(chuàng)建代碼分支、解決合并沖突等機(jī)制。這些都是非常有用的特性,可以解決每個(gè)軟件團(tuán)隊(duì)每天都面臨的特定問(wèn)題和常見(jiàn)問(wèn)題。Git 是當(dāng)今的主流解決方案。
另一方面,GitHub 是 Git 之上的附加層,它為其他特定和常見(jiàn)問(wèn)題提供解決方案,比如代碼審查、pull request、問(wèn)題管理/bug 跟蹤等等。
注:盡管 Git 是大多數(shù)公司的首選版本控制解決方案,但 GitHub 仍然有一些強(qiáng)大的競(jìng)爭(zhēng)對(duì)手,比如 GitLab 和 Bitbucket。但是,如果你知道如何使用 GitHub,那么你就能駕輕就熟地使用 GitLab 或 Bitbucket。
現(xiàn)在你已經(jīng)了解了掌握 Git 和 Github 的重要性,接下來(lái)我們來(lái)看三個(gè)簡(jiǎn)單規(guī)則,它們可以讓你在學(xué)習(xí)編寫(xiě)代碼階段,就輕松成為專業(yè)的 Git 和 Github 用戶。
如何利用 3 條簡(jiǎn)單規(guī)則掌握 Git 和 Github?
我是 Microverse 的創(chuàng)始人,Microverse 是一所面向遠(yuǎn)程軟件開(kāi)發(fā)人員的學(xué)校,在你找到工作前完全免費(fèi)使用。我們?cè)?22 周計(jì)劃中,不僅教學(xué)生如何編程,同時(shí)也會(huì)給他們大量的指導(dǎo)和構(gòu)思,讓他們?cè)谟?jì)劃中獲得實(shí)際經(jīng)驗(yàn)。
為了成為專業(yè)的 Git 和 Github 用戶,我們要求學(xué)生遵循以下三個(gè)規(guī)則。培訓(xùn)結(jié)束后,我們的學(xué)生應(yīng)該能自然而然運(yùn)用 Git、GitHub、branch、合并請(qǐng)求和代碼評(píng)審。
在討論這三條簡(jiǎn)單規(guī)則前,請(qǐng)先完成以下任務(wù):
如果你對(duì) Git 和 Github 還不熟悉,請(qǐng)先從 HubSpot 上完成這個(gè)很棒的教程:https://product.hubspot.com/blog/git-github;
如果你還不了解 GitHub 流,你應(yīng)該先學(xué)習(xí)它,因?yàn)槲覀兒筮厱?huì)用到:https://guides.github.com/tion/flow/。
無(wú)需多言,三條能令你在學(xué)習(xí)編程階段就能熟練掌握 Git 和 Github 的簡(jiǎn)單規(guī)則如下:
規(guī)則 #1:為每個(gè)新項(xiàng)目創(chuàng)建一個(gè) Git 倉(cāng)庫(kù)
規(guī)則 #2:為每個(gè)新特性創(chuàng)建一個(gè)新分支
規(guī)則 #3:使用 Pull Request 將代碼合并到 Master 分支
即使你的項(xiàng)目非常簡(jiǎn)單或者你只是單獨(dú)工作,但只要在每次編程時(shí)遵循這三條規(guī)則,你很快就可以成為 Git 和 GitHub 的使用高手。
我們會(huì)簡(jiǎn)單分析每條規(guī)則,以便你理解該如何做以及為什么這些規(guī)則很重要。
規(guī)則 #1:為每個(gè)新項(xiàng)目創(chuàng)建一個(gè) Git 倉(cāng)庫(kù)
第一條規(guī)則很簡(jiǎn)單,但是養(yǎng)成習(xí)慣非常重要。每當(dāng)你開(kāi)始一個(gè)新項(xiàng)目時(shí),如你的簡(jiǎn)歷、學(xué)習(xí)項(xiàng)目、編程挑戰(zhàn)的解決方案等等,你都應(yīng)該創(chuàng)建一個(gè)新的 Git 倉(cāng)庫(kù),并將其推送到 GitHub 上。
擁有專用的 repo 是為你編寫(xiě)的每一行代碼使用版本控制的第一步。使用版本控制是你加入公司、開(kāi)始從事實(shí)際項(xiàng)目后的工作方式。及早學(xué)習(xí)并養(yǎng)成習(xí)慣。
注:如果使用終端比較麻煩,你無(wú)法在所有項(xiàng)目中使用 Git,可以考慮使用 Github 桌面應(yīng)用程序(https://desktop.github.com/)。
規(guī)則 #2:為每個(gè)新特性創(chuàng)建一個(gè)新分支。
假設(shè)你希望在簡(jiǎn)歷里構(gòu)建一個(gè)新的「Contact me」部分/組件。那么為這個(gè)新特性創(chuàng)建一個(gè)專用的分支,給它一個(gè)有意義的名稱(例如 contact-me-section),并將所有代碼提交給這個(gè)特定的分支。
如果你不知道何為分支,請(qǐng)返回到 Github 流(https://guides.github.com/guidetion/flow/),閱讀我之前推薦的內(nèi)容。
使用分支可以讓你和團(tuán)隊(duì)成員以并行的方式處理不同的特性,同時(shí)將每個(gè)特性的代碼與其他代碼區(qū)分開(kāi)來(lái)。這使得不穩(wěn)定的代碼不會(huì)輕易并到主代碼庫(kù)中。
即使你是團(tuán)隊(duì)中唯一的成員,一旦你真正開(kāi)始工作,熟練使用特性分支會(huì)使 GitHub 流的過(guò)程變得輕而易舉。
規(guī)則 #3:使用 Pull Request 將代碼合并到 Master 分支
默認(rèn)情況下,每個(gè)倉(cāng)庫(kù)都從一個(gè)主分支開(kāi)始。永遠(yuǎn)不要直接在主分支上進(jìn)行改動(dòng)。相反,你應(yīng)該使用特性分支,并打開(kāi)一個(gè)新的 PR,將特性分支代碼與主分支代碼合并。
在現(xiàn)實(shí)工作中,會(huì)有人查看你的 Pull Request,并在批準(zhǔn)前進(jìn)行代碼審查。GitHub 甚至?xí)?duì)你的代碼進(jìn)行自動(dòng)測(cè)試,讓你知道它是否有問(wèn)題。如果你的代碼與主分支代碼之間存在合并沖突,你也會(huì)收到通知。例如,如果另一個(gè)開(kāi)發(fā)人員推送到主分支的更改影響了你修改過(guò)的文件時(shí),就會(huì)發(fā)生這種情況。
在代碼經(jīng)過(guò)審查、測(cè)試和批準(zhǔn)之后,reviewer 會(huì)允許你合并 Pull Request,或者他們直接合并你的 Pull Request。
即使你單獨(dú)工作,也要習(xí)慣于創(chuàng)建 Pull request,以便將更改合并到主分支。這是幾乎所有開(kāi)源項(xiàng)目使用的基本工作流程。如果你曾經(jīng)貢獻(xiàn)過(guò)某個(gè)項(xiàng)目,理解這三個(gè)規(guī)則將讓你的貢獻(xiàn)很容易被接受。
結(jié)語(yǔ)
如果你仍然感到困惑,那就慢慢來(lái),記住這三條規(guī)則。不要試圖去想「如何做」,而要專注于「做什么」和「為什么」。
一旦「做什么」和「為什么」清楚了,在時(shí)機(jī)成熟時(shí)你就能知道「如何做」了。重復(fù)這個(gè)過(guò)程 2-3 次,你就會(huì)對(duì)它們得心應(yīng)手了。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03