本教程旨在培訓(xùn)GitHub的基本知識(shí),包括存儲(chǔ)庫(kù)、分支、提交和拉取請(qǐng)求等概念。將創(chuàng)建一個(gè)自己的HelloWorld存儲(chǔ)庫(kù),并熟悉GitHub的拉取請(qǐng)求工作流,這是協(xié)作開發(fā)和查看代碼的常用方式。
一、先決條件
首先必須擁有一個(gè)GitHub帳戶。有關(guān)詳細(xì)信息,請(qǐng)參閱《GitHub創(chuàng)建賬戶》。無需具備編碼能力、使用命令行的知識(shí)或安裝Git的經(jīng)驗(yàn)(Git是GitHub的版本控制軟件)。
二、創(chuàng)建存儲(chǔ)庫(kù)
首先需要?jiǎng)?chuàng)建一個(gè)新的存儲(chǔ)庫(kù)。存儲(chǔ)庫(kù)類似于一個(gè)文件夾,它包含相關(guān)項(xiàng)目的文件,例如文檔、圖像、視頻等。通常存儲(chǔ)庫(kù)還包含一個(gè)README文件,用于提供項(xiàng)目的相關(guān)信息。自述文件使用Markdown語言編寫,這是一種易于閱讀和編寫的文本格式。我們將在之后的教程中學(xué)習(xí)Markdown語言。
使用GitHub創(chuàng)建存儲(chǔ)庫(kù)時(shí),可以同時(shí)添加README文件。GitHub還提供其他常用選項(xiàng),例如許可證文件,但目前不必選擇這些。
存儲(chǔ)庫(kù)名稱可定為“hello-world”,并用于存儲(chǔ)靈感和資源,甚至與他人共享和討論。
1、在任意頁面的右上角,點(diǎn)擊加號(hào)(+)圖標(biāo),選擇“新建存儲(chǔ)庫(kù)”。
2、在“存儲(chǔ)庫(kù)名稱”框中輸入”hello-world”。
3、在“說明”框中鍵入簡(jiǎn)短說明,例如:“此存儲(chǔ)庫(kù)用于練習(xí)GitHub流”。
4、選擇存儲(chǔ)庫(kù)的可見性(公共或?qū)S茫?/p>
5、勾選“添加README文件”選項(xiàng)。
6、單擊“創(chuàng)建存儲(chǔ)庫(kù)”。
三、創(chuàng)建分支
通過分支功能,可以在同一存儲(chǔ)庫(kù)中擁有不同版本的代碼。
默認(rèn)情況下,存儲(chǔ)庫(kù)包含名為”main”的主分支,作為最終分支。可以從”main”創(chuàng)建新的分支。
在不影響主代碼的情況向項(xiàng)目添加新功能時(shí),創(chuàng)建分支非常有用。在不同分支上進(jìn)行的工作不會(huì)顯示在主分支中,直到合并為止。使用分支,可以進(jìn)行試驗(yàn)和編輯,再將更改合并入主分支。
1、單擊”hello-world”存儲(chǔ)庫(kù)的“代碼”選項(xiàng)卡。
2、在文件列表上方,點(diǎn)擊”main”下拉菜單。
3、在文本框中輸入分支名稱,例如”readme-edits”。
4、單擊“創(chuàng)建分支:從main創(chuàng)建readme-edits”。
現(xiàn)在,已經(jīng)創(chuàng)建了兩個(gè)分支:”main”和”readme-edits”,這兩個(gè)分支的內(nèi)容是相同的。
四、進(jìn)行和提交更改
在創(chuàng)建新分支時(shí),GitHub會(huì)將重定向至”readme-edits”分支的代碼頁面。在這里,可以對(duì)存儲(chǔ)庫(kù)中的文件進(jìn)行編輯,并保存更改。提交是對(duì)更改的保存,每個(gè)提交都需要一個(gè)提交消息,說明為什么進(jìn)行了這些更改。
1、在”readme-edits”分支下,單擊”README.md”文件。
2、點(diǎn)擊編輯圖標(biāo)(鉛筆圖標(biāo))。
3、在編輯器中添加一些關(guān)于自己的信息。
4、在“提交更改”框中,編寫描述更改的提交消息。
5、單擊“提交更改”。
這些更改現(xiàn)在僅適用于”readme-edits”分支,使其包含了在”main”分支中沒有的內(nèi)容。
五、打開一個(gè)拉取請(qǐng)求
現(xiàn)在已經(jīng)在”main”分支的基礎(chǔ)上創(chuàng)建的分支中完成了更改,接下來可以打開一個(gè)拉取請(qǐng)求。
拉取請(qǐng)求是GitHub上協(xié)作的核心功能。打開拉取請(qǐng)求后,可以提議更改,要求其他人審查和合并貢獻(xiàn)到他們的分支中。拉取請(qǐng)求將展示兩個(gè)分支之間的差異,增減部分會(huì)以不同的顏色高亮顯示。
只要有提交,就可以打開拉取請(qǐng)求并開始討論,即使代碼尚未完成也沒有關(guān)系。
在這個(gè)步驟中,將在自己的存儲(chǔ)庫(kù)中打開拉取請(qǐng)求并自行合并。這是練習(xí)GitHub流程的一個(gè)良好方式,適合在處理大型項(xiàng)目之前使用。
1、單擊”hello-world”存儲(chǔ)庫(kù)的“拉取請(qǐng)求”選項(xiàng)卡。
2、然后點(diǎn)擊“新建拉取請(qǐng)求”。
3、在“示例比較”框中,選擇創(chuàng)建的分支”readme-edits”,與”main”(原始分支)進(jìn)行比較。
4、在比較頁面中查看更改,確保它們正是想要提交的內(nèi)容。會(huì)看到”README.md”文件的差異,紅色的三行代表要?jiǎng)h除的文本,綠色的三行則是新增的文本。
5、單擊“創(chuàng)建拉取請(qǐng)求”。
接下來,為拉取請(qǐng)求指定一個(gè)標(biāo)題,并寫下對(duì)更改的簡(jiǎn)要說明??梢允褂帽砬榉?hào),以及拖放圖像或GIF。
6、完成后,點(diǎn)擊“創(chuàng)建拉取請(qǐng)求”。
六、合并拉取請(qǐng)求
在最后一步中,將把”readme-edits”分支的更改合并到”main”分支中。一旦合并拉取請(qǐng)求,”readme-edits”分支上的更改就會(huì)在”main”中生效。
有時(shí)拉取請(qǐng)求可能會(huì)引入與”main”上的現(xiàn)有代碼沖突的更改。如果發(fā)生沖突,GitHub會(huì)提醒關(guān)于沖突代碼的信息,并防止合并,直到?jīng)_突得到解決??梢赃M(jìn)行沖突解決的提交,或者在拉取請(qǐng)求中與團(tuán)隊(duì)成員討論沖突。
在本練習(xí)中,不會(huì)產(chǎn)生任何沖突,因此可以直接將分支合并到主分支。
1、在拉取請(qǐng)求底部,單擊“合并拉取請(qǐng)求”,將更改合并到”main”中。
2、單擊“確認(rèn)合并”。將看到一條消息,通知拉取請(qǐng)求已成功合并并已關(guān)閉。
3、最后,單擊“刪除分支”?,F(xiàn)在,拉取請(qǐng)求已合并,并且更改已在”main”上??梢园踩貏h除”readme-edits”分支。如果需要對(duì)項(xiàng)目進(jìn)行更多修改,可以隨時(shí)創(chuàng)建一個(gè)新分支并重復(fù)此過程。
4、單擊返回”hello-world”存儲(chǔ)庫(kù)的“代碼”選項(xiàng)卡,以查看已發(fā)布的更改。