0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在GitHub上更新Fork以及PullRequest給源項(xiàng)目

電子工程師 ? 來源:lq ? 2019-01-08 09:38 ? 次閱讀

本文作者黃昱俊,國資企業(yè)投資部總經(jīng)理,主要負(fù)責(zé)投資部門建設(shè)、投資流程管理、投后資源管理。歷經(jīng)10年,從醫(yī)療器械研發(fā)工程師到投資管理的蛻變,業(yè)余嘗試ETF量化投資。

本文介紹如何在GitHub上更新Fork以及PullRequest給源項(xiàng)目。

在GitHub上更新Fork

經(jīng)常遇到的是Fork一個(gè)項(xiàng)目之后,源項(xiàng)目的作者做了新的更改,如果沒有同步到我自己的Fork,我所做的更新進(jìn)行Pull Request后,會(huì)產(chǎn)生沖突;因此在更新文件之前、至少是Pull Request之前,應(yīng)當(dāng)要更新自己的Fork的。

更新Fork的方法有很多,Git寫代碼是很好的,當(dāng)小白通常比較難做,步驟缺了就經(jīng)常不奏效;所以我自己親測(cè)了一個(gè)GitHub上更新Fork的方法,做一個(gè)教程,與朋友們共勉;廢話少說,步驟如下。

一、進(jìn)入自己Fork來的項(xiàng)目,按New Pull Request按鈕,新建一個(gè)Pull Request(簡稱:PR)。

二、如果自己還沒有修改過Fork項(xiàng)目的文件,那么此時(shí)可以點(diǎn)擊switching the base,切換到基于我自己的Fork項(xiàng)目。

如果已經(jīng)修改或更新過Fork項(xiàng)目的文件,那么可以通過選擇Base Fork和Head Fork來從源項(xiàng)目更新到我自己的Fork項(xiàng)目。

這里有個(gè)小技巧:在默認(rèn)狀態(tài)下,會(huì)是Base源項(xiàng)目,Head我自己的Fork項(xiàng)目;這樣選擇任何一個(gè)時(shí),會(huì)調(diào)到某個(gè)無法更新的頁面;解決方法是先Base或Head一個(gè)其他人的賬號(hào)下的Fork,接著選擇Head/Base源項(xiàng)目或我自己的Fork項(xiàng)目,這樣就不會(huì)出現(xiàn)Base和Head都是自己或者都是源項(xiàng)目的情況。

三、Base和Head設(shè)置完,就進(jìn)入Comparing Changes頁面,確認(rèn)一下Base和Head,以及最新的更新內(nèi)容。

內(nèi)容沒問題就Create PR了,即上圖綠色箭頭所指向的綠色按鈕;接著輸入主題,Create。

四、新Create的PR在哪里可以找到呢?進(jìn)入我自己的Fork項(xiàng)目,導(dǎo)航條上的PR進(jìn)入,看到Open的有一個(gè),就是剛才更新的。

點(diǎn)擊進(jìn)入確認(rèn)一下。

五、把源項(xiàng)目的更新Merge到我的Fork項(xiàng)目。

Confirm Merge,確定這個(gè)更新;

可以看到,這個(gè)PR已經(jīng)更新完成,呈紫色的Merge狀態(tài)。

六、最后驗(yàn)證一下是否更新到最新的項(xiàng)目,因?yàn)橐阎歉铝薖attern Recognition,所以直接進(jìn)入。

查看到下面5個(gè)是最新修改的,15個(gè)小時(shí)之前修改了內(nèi)容。

至此整個(gè)更新Fork的方法步驟已完成,玩得愉快!

將更新的Fork項(xiàng)目PullRequest給源項(xiàng)目

我們Fork項(xiàng)目之后進(jìn)行了修改或添加新文件,需要Pull Request(簡稱:PR)給源項(xiàng)目,讓作者M(jìn)erge融入到他的源項(xiàng)目里。

在PR之前,甚至開始修改或創(chuàng)建新文件之前,先看看源項(xiàng)目是否有更新,如有更新,可按第一部分內(nèi)容,先更新自己的Fork項(xiàng)目,再做創(chuàng)建新文件,老司機(jī)說這樣沖突比較少。

一、看到別人的好項(xiàng)目,如何“據(jù)為己有”?Fork一下咯!

點(diǎn)擊Fork,會(huì)進(jìn)入Fork進(jìn)行中的界面;

Fork完成后,可以在自己的主頁(Your Profile)看到Fork的項(xiàng)目。

二、可以通過Create new file或upload file新建或上傳文件,要注意的是:上傳的文件會(huì)把原來同名文件覆蓋掉!

這里的會(huì)有文件上傳的進(jìn)度條,如下圖:共13個(gè)文件,已上傳9個(gè);上傳完成的文件會(huì)在下方顯示。

這個(gè)上傳文件由于服務(wù)器在國外的緣故,死慢死慢,經(jīng)常就廢了,如下圖。

當(dāng)看到下面這個(gè)Processing your files…頁面,那就恭喜你了,經(jīng)過幾十次的上傳,總算work了;如果出現(xiàn)一片空白的頁面,那么只好重復(fù)choose your files,再次Confirm Changes。

三、新建PR:可以在Fork項(xiàng)目的根目錄下,或者任意的目錄下,Pull Request。

Pull Request后會(huì)進(jìn)入Comparing changes頁面,核對(duì)一下Base Fork和Head Fork(藍(lán)色圓圈)、以及更新的內(nèi)容(紫色方框);由于已經(jīng)更新過最新的源項(xiàng)目內(nèi)容,與源項(xiàng)目同步好了,所以此時(shí)顯示“Able to merge”(紅圈綠字);一切就緒,點(diǎn)擊Create創(chuàng)建PR。

輸入主題,并Create PR;

這時(shí)可以看到已經(jīng)將這個(gè)更新PR給源項(xiàng)目作者,PR序號(hào)為#52,狀態(tài)open。

四、源項(xiàng)目作者M(jìn)erge此PR,將此次的更改融入到源項(xiàng)目,并形成Commits記錄。

序號(hào)#52的PR已經(jīng)Merge:

進(jìn)入源項(xiàng)目,查看Commit記錄:

至此,整個(gè)Fork、修改或創(chuàng)建文件、Pull Request以及Merge的步驟已完成,玩的愉快!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68617
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    471

    瀏覽量

    16448

原文標(biāo)題:如何更好地玩轉(zhuǎn)GitHub?

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    教你如何快速在Github為RT-Thread貢獻(xiàn)代碼

    我們真誠地感謝您的貢獻(xiàn),歡迎通過 GitHubfork 和 pull request 流程來提交代碼(文末有1024節(jié)福利)。
    的頭像 發(fā)表于 10-26 06:17 ?7345次閱讀
    教你如何快速在<b class='flag-5'>Github</b><b class='flag-5'>上</b>為RT-Thread貢獻(xiàn)代碼

    關(guān)于 fork 和 exec 是如何在 Unix 上工作的

    本文是關(guān)于 fork 和 exec 是如何在 Unix 上工作的。你或許已經(jīng)知道,也有人還不知道。幾年前當(dāng)我了解到這些時(shí),我驚嘆不已。
    的頭像 發(fā)表于 01-22 09:09 ?5046次閱讀

    Github發(fā)布史上最大更新

    看好Github以后的走向,出了很多調(diào)侃。比方說充值會(huì)員才能搜索下載項(xiàng)目,但是從這幾個(gè)月的風(fēng)聲來看其實(shí)一切都發(fā)展的還不錯(cuò)。就在上個(gè)月的時(shí)候Github剛做過一個(gè)更新,他們改版并放棄了j
    發(fā)表于 10-17 10:03

    何在esp32板子實(shí)現(xiàn)自己的web_radio

    在esp32開發(fā)板實(shí)現(xiàn)的web_radio,基于wm8978 codec芯片前言下載編譯硬件連接燒寫測(cè)試TODO前言本文介紹了如何在esp32板子實(shí)現(xiàn)自己的web_radio,用的是wm8978
    發(fā)表于 08-12 06:49

    分享幾個(gè)在GitHub嵌入式相關(guān)的開源項(xiàng)目

    關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容來源 | 人人都是極客大家平時(shí)學(xué)習(xí)的資源可能來自不同地方,對(duì)于程序員來說,Github上高星的開源項(xiàng)目值得了解并學(xué)習(xí)。今天就大家分享幾個(gè)在GitHub
    發(fā)表于 10-27 08:10

    github入門到上傳本地項(xiàng)目步驟

    GitHub可以托管各種git庫,并提供一個(gè)web界面,但與其它像 SourceForge或Google Code這樣的服務(wù)不同,GitHub的獨(dú)特賣點(diǎn)在于從另外一個(gè)項(xiàng)目進(jìn)行分支的簡易性。為一個(gè)
    發(fā)表于 11-29 16:51 ?2232次閱讀

    github使用教程_github菜鳥教程

    GitHub 擁有一個(gè)非常鼓勵(lì)合作的社區(qū)氛圍。這一方面源于 GitHub 的付費(fèi)模式:私有項(xiàng)目需要付費(fèi),而公共項(xiàng)目完全免費(fèi)。這意味著 GitHub
    發(fā)表于 11-29 17:22 ?1.5w次閱讀
    <b class='flag-5'>github</b>使用教程_<b class='flag-5'>github</b>菜鳥教程

    2018 年 2 月份 GitHub 最熱門的開源項(xiàng)目

    2 月份 GitHub 最熱門的開源項(xiàng)目又出爐了,又有哪些新的項(xiàng)目擠進(jìn)熱門榜單了呢,一起來看看。
    的頭像 發(fā)表于 03-23 08:53 ?4664次閱讀

    100天讓你學(xué)會(huì)機(jī)器學(xué)習(xí)的項(xiàng)目!

    其中一名叫Avik Jain的機(jī)器學(xué)習(xí)愛好者,創(chuàng)建了一個(gè)100-Days-Of-ML-Code的項(xiàng)目,很快引起了大家的注意,截至今日,該項(xiàng)目已經(jīng)獲得了 11570 個(gè)「star」以及 1993 個(gè)
    的頭像 發(fā)表于 09-17 16:42 ?2891次閱讀

    如何為GitHub這些項(xiàng)目貢獻(xiàn)代碼呢?

    Harry在找到這個(gè)項(xiàng)目之后,點(diǎn)擊右上角的「fork」按鈕。稍等片刻后,就會(huì)在Harry的賬號(hào)下克隆了一個(gè)一樣的項(xiàng)目githubTest,包括文件、提交歷史、issues、和其余一些東西。
    的頭像 發(fā)表于 10-29 16:12 ?2122次閱讀

    GitHub發(fā)布史上最大更新

    10 月 16 日,在年度 GitHub Universe 正式召開,在大會(huì)上不僅發(fā)布了GitHub重大更新,還帶來了 2018 年的年度報(bào)告
    的頭像 發(fā)表于 11-03 09:31 ?4628次閱讀

    對(duì)“Fork”做一個(gè)技術(shù)方面的簡介

    和 Git fork 之簡單指南”一文。順便說一句,我們的 LCTT 翻譯組就是通過復(fù)刻fork?+ PR 的方式運(yùn)作的,這也是 GitHub
    發(fā)表于 04-02 14:48 ?307次閱讀

    GitHub宣布開放無限私有存儲(chǔ)庫以及限時(shí)訪問GitHub Actions

    GitHub 宣布,即日起,所有用戶都可以免費(fèi)使用該平臺(tái)的核心功能。無論是個(gè)人免費(fèi)賬戶、還是商業(yè)項(xiàng)目團(tuán)隊(duì),都可訪問 GitHub 的無限私有存儲(chǔ)庫、以及每月 2000 分鐘的
    的頭像 發(fā)表于 04-15 09:36 ?3610次閱讀

    如何精準(zhǔn)地在GitHub搜索項(xiàng)目

    那么除了這些要素之外,項(xiàng)目本身的star數(shù)和fork數(shù),也是評(píng)判一個(gè)開源項(xiàng)目是否火熱的標(biāo)準(zhǔn),這同時(shí)也是一個(gè)很重要的搜索標(biāo)準(zhǔn)。另外我們也要注意觀察這個(gè)項(xiàng)目的最近
    的頭像 發(fā)表于 05-11 09:59 ?2049次閱讀
    如何精準(zhǔn)地在<b class='flag-5'>GitHub</b>搜索<b class='flag-5'>項(xiàng)目</b>

    Python監(jiān)控Github項(xiàng)目如何更新并自動(dòng)下載

    讓我們 用Python監(jiān)控Github項(xiàng)目是否有更新,如果有的話自動(dòng)下載該更新 ! 1.統(tǒng)一文件名格式 為了能夠獲取github
    的頭像 發(fā)表于 11-03 15:45 ?910次閱讀
    Python監(jiān)控<b class='flag-5'>Github</b><b class='flag-5'>項(xiàng)目</b>如何<b class='flag-5'>更新</b>并自動(dòng)下載