1. 程式人生 > >Github全面詳解-23 Fork開源專案

Github全面詳解-23 Fork開源專案

視訊教程觀看地址:http://study.163.com/course/courseMain.htm?courseId=1003674052

大多數開源專案遵循非常相似的工作流程。一群人負責該專案,他們是是專案的所有者或維護者。還有另一群人想要貢獻程式碼和錯誤報告,他們是是專案的貢獻者,還會有一群人只是想使用這個開源軟體,他們是專案的使用者。

在這節課中,我將解釋開源專案的每個部分是如何組合在一起。首先,我們來理解在開源專案中每個人的角色。GitHub上的每個專案都有一個所有者。所有者是擁有程式碼倉庫的人。有時候,所有者可以是一個使用者,就像螢幕對面的你一樣,有時候,所有者可是一個組織,像Google一樣。所有者可以完全控制程式碼倉庫,無論是公共還是私人的倉庫,他可以決定誰可以推送程式碼到倉庫中,所有者可以向協作者和維護者提供Push訪問許可權。維護者是所有者信任的用於稽核請求、保持專案進展的那個人。一些開源專案只有一個維護者,一些專案也可能有幾十個。維護者可以Push和Pull程式碼。

貢獻者是沒有直接Push程式碼許可權的人。我們詳細解釋下。在我們操作的所有專案,對程式碼倉庫的操作有2種方式, push和pull訪問。push是推送,pull是拉取的意思,在開源專案上,大多數人只會有能力拉取程式碼,他們沒有推送程式碼的能力。所以這部分人被稱為貢獻者。貢獻者需要請求許可權,才能將更改推送到專案中。這就是我們通常使用pull request的原因。

比如說,你是貢獻者,你建立一個pull request,然後專案的維護者,因為它有push和pull的訪問許可權,所以,維護者可以接受您的更改,最後,你提交的更改就成為專案的一部分了。

除了維護者和貢獻者,還有使用者。他們是每天使用程式碼的人,但是他們不貢獻回專案。使用者是至關重要的,因為他們會發現專案中的大部分bug,

由於我們想為一個開源專案做貢獻,所以我們屬於貢獻者,但是由於我們沒有專案的push許可權,我們想要進行更改。這時,我們就需要建立一個fork。

fork是一個GitHub的一個功能,它可以讓我們獲取程式碼倉庫當前狀態的副本,我們可以將它移動到我們的使用者帳戶或組織中。那麼,這個副本的擁有權是我們的。由於我們擁有它,我們可以直接對它進行更改。當我們準備好將更改傳送回原來的專案時,我們可以在兩個程式碼倉庫之間提交pull request。

所以,現在讓我們建立我們的第一個fork。

圖 4-22

這是我們在上一個視訊中使用的相同的程式碼倉庫。

要fork我的程式碼倉庫,在右上角單擊fork按鈕。

圖 4-23

然後,您可以選擇將程式碼倉庫分支放到哪裡。您可以選擇您的使用者帳戶或您有權訪問的組織帳戶,就像我們在課程中先前建立的虛幻大學組織。這個設定用於選擇您希望擁有此程式碼倉庫副本的使用者。

現在,請我們選擇您的組織帳戶。

圖 4-24

我們看到,GitHub現在正在建立一個由您的組織擁有的新程式碼倉庫。

此倉庫包含來自我的倉庫的程式碼的副本,但是這個副本你可以完全控制。你會看到在倉庫名稱下有一個小叉符號,它指向的原始儲存庫。

有了這個fork的副本之後,你可以很容易地貢獻回原始程式碼倉庫。我是這個倉庫的所有者和維護者,而您即將成為貢獻者。

在下一個視訊中,我們將為這個“-” 專案開啟一個pull request。

更多精彩內容盡在視訊中!

本文固定連結:
http://www.oxox.work/web/github/fork/ | 虛幻大學


檢視原文:http://www.oxox.work/web/github/fork/