簡單的教程,使您的第一個PR(拉式請求)

好吧,我認為這是一篇相當簡短的教程,希望能有所作為;)。 我將在github上為您提供一個小型存儲庫,以便您可以同時發送PR,以便您可以練習如何執行下面要完成的所有步驟。 這是進行測試PR的鏈接:

https://github.com/CodeLabora/TuPrimerPR

好吧,讓我們快速列出發送PR所需的步驟:

  1. 克隆
  2. 網上
  3. 變化
  4. 加入
  5. 承諾
  6. PR

我將它們放在英語中,以便他們在git命令行上找到各自的選項。

叉子是您自己的Github存儲庫版本。 這使您可以克隆另一個項目的工作並將其保存在您的帳戶中,以便您可以進行更改而不必擔心丟失所做的更改。 要製作叉子,只需轉到頁面並單擊右上部分的“叉子”按鈕。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

完成派生後,您將看到存儲庫出現在您的帳戶中。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

克隆

現在我們有了一個存儲庫,我們將其克隆到我們的​​團隊。 (我假設使用Linux的人也會關注我,但是對於其他系統的用戶,您還可以在git的官方頁面上下載git的版本。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

借助我們的終端,我們可以執行以下操作。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

有了這個,我們將有一個名為TuPrimerPR的新文件夾,我們的Github項目將在其中。 我們使用命令«cd TuPrimerPR»進入文件夾,我們將看到其中是我們fork中的文件。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

(請注意,文件的數量可能會隨分叉時在我的存儲庫中找到的文件而有所不同)

網上

這是一個可選步驟,但在連續進行項目時可以避免許多問題。 默認情況下,Fork會創建存儲庫的精確副本,但要在創建的確切時刻。 這意味著,如果項目繼續推進,那麼您的存儲庫將隨著時間的推移而落後。 “ Git remote”允許我們指定另一個下載點(原始項目),因此每次看到父項目正在更新時,都可以更新我們的項目。

要找到您的上級項目,您只需要使用存儲庫名稱下方的鏈接即可。 (檢查前叉部分的第二張圖像)。 我們將在下面添加此信息:

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

這是原始項目(我們將其稱為 上游 以跟上許多項目)。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

如您所見,我已經用»git remote add添加了遙控器»

這樣,我們將能夠在必要時更新項目,但是由於沒有必要,因此我們現在將不再使用它。 (我將根據需要在稍後或其他帖子中進行解釋)

分支(或多個分支)使您可以創建可在隔離環境中工作的代碼段。 這意味著在使用“ git merge”之前,您在分支中執行的操作不一定會影響原始代碼。 Github還提供了一項額外功能,每次創建分支時,Github都會在必要時自動生成“拉取請求”的來源。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

現在我們處於我們的特殊分支中,我們可以繼續努力。

變化

我將添加幾個文件,以便您可以看到它是如何完成的。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

“觸摸”使我們可以創建一個空白文件(如果不存在)。 有了這個,我們可以繼續下一步。

加入

»Git add»允許我們向提交中添加文件(我將在後面解釋)。 要查看可以添加哪些文件,可以使用命令»git status»

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

有了這個,我們已經為提交做好了一切準備

承諾

提交是時間上的標記(或里程碑)。 它們為項目中的所有文件定義狀態,並累積從項目開始到當前狀態所需的更改。 聽起來有些複雜,但是卻很簡單,只要記住它們是您項目的階梯即可。 我們編寫»git commit»,我們將獲得一個窗口來編寫我們的提交消息。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

在完成並保存文本後,我們將看到類似以下內容的內容:

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

顯示提交內容的摘要。

通過推送,我們會將計算機上所有不在互聯網上存儲庫中的提交上傳到我們的Github帳戶。 這將使Github自動生成新的PR。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

請注意,我們正在使用分支的名稱,並且它要求我們提供用戶名和密碼。 最後,它向我們顯示myImprove分支已在我們的Github帳戶中創建。 讓我們看看我們在瀏覽器中所取得的成就。 😉

PR

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

如您所見,已經創建了一個新行,上面寫著“ Compare&Pull request”。 Github的這種功能使我們能夠以簡單的方式創建PR,我們將單擊以查看會發生什麼。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

Github非常聰明。 如您所見,部分提交已添加到表單中以進行提交。 只需單擊按鈕,然後單擊🙂簡單。

額外

這是在項目的幕後,出現PR,經理決定是接受還是寫更多消息。 就我而言,我將立即接受。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

合併完成後,他們將能夠查看項目的提交日誌並在其中看到其名稱。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

但是現在我們有一個問題。 該提交未出現在 NUESTRO 存儲庫,僅在項目中。 你還記得我們的遙遠通道嗎? 現在是時候還清🙂

我們回到主分支並執行以下操作:

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

這樣,我們就將原始項目的所有信息下載到了我們的團隊。 如您所見,我們的提交出現在這裡。 現在,我們將所有這些工作保存在Github存儲庫中,以便能夠刪除具有已添加到項目中的貢獻的分支。

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

現在我們有了更新的Github存儲庫,我們將刪除我們的分支,但是首先我們確保它在我們的主分支(主)內

擁有。 克里斯托弗·迪亞茲·里維羅斯(Christopher Diaz Riveros)

如您所見,我有一個小錯誤,這是因為當我要刪除時,我在myImprovement分支中。 返回主分支可以解決此問題。

結論

做🙂就這麼簡單。 現在您已經掌握了Github發送公關的秘密,我期待著您在各種項目上的貢獻。 如果需要,可以將第一個PR留在我的存儲庫😉中以備記憶。

我還沒有碰到一千零一千個Git的好處(OJO,而不是Github),正如您希望與內核社區有聯繫的開發人員所期望的那樣,Git是一個非常強大的工具,具有數百個功能。

為了更好地了解它的功能以及Git的全部功能,我強烈建議您這樣做 。 我敢肯定,它將大大改善您對git的處理。

問候,希望對您有幫助😉


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   克里斯蒂安(Cristian Abrazua) 他說:

    優秀的教程,希望您可以繼續研究Git。 謝謝!

  2.   克里斯·阿德 他說:

    明確! 我將盡快添加更多有關此內容以及更多內容。

  3.   古斯塔沃。 他說:

    EXCELENTE

    1.    克里斯·阿德 他說:

      它對您有多好😉問候

  4.   四月 他說:

    我會盡快練習,非常感謝,本教程是我尋找了很長時間但找不到的內容!

  5.   Ch3ss大師 他說:

    從基礎上講得很好,謝謝。 有空的時候我會改善captuas的。