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