github fork之后的操作

因?yàn)槲?Fork 了 Mojo 的項(xiàng)目,這樣才學(xué)會(huì)了如何使用 github. 因?yàn)槠渌恍╉?xiàng)目是自己創(chuàng)建的,也就學(xué)不會(huì)怎么和其它團(tuán)隊(duì)合作。 現(xiàn)在給這部分不一樣的經(jīng)驗(yàn)分享給大家。希望有利于大家參與到開源的項(xiàng)目來。

1. 提交自己本地項(xiàng)目的修改到 github 的庫中.

如果你自己的項(xiàng)目,或者是其它人的項(xiàng)目, 你 Fork 了以后, 一定是到本地來進(jìn)行開發(fā)和測(cè)試。所以當(dāng)你自己給自己的項(xiàng)目 clone 到本地后, 進(jìn)行了一系列的修改后, 當(dāng)你想提交時(shí), 最方便的方式是直接使用 HTTP 的方式進(jìn)行提交。 但當(dāng)你提交的時(shí)候, 就會(huì)發(fā)現(xiàn)一直權(quán)限出錯(cuò)的提示:

error: The requested URL returned error: 403 Forbidden while accessing http://xxx

這時(shí), 你需要修改你的項(xiàng)目目錄下的 .git/config 這個(gè) git 的配置文件。給其中的 url 選項(xiàng)中修改如下:

url = https://iakuf@github.com/iakuf/mojo

這其實(shí)就是給你的 github 的帳號(hào)名, 通過 @ 加到 URL 的前半部分, 這樣才能成為 HTTP 認(rèn)證的用戶信息來進(jìn)行接下來的認(rèn)證. 這樣就不用關(guān)心 SSH 的 Key 的問題了。

2. 當(dāng)自己 Fork 后的項(xiàng)目更新后, 提交 ( Pull Requests) 給原作者合并

我原來一直使用 github 但只會(huì)提交修改, 后來在陳子的指導(dǎo)下學(xué)會(huì)了 Pull Requests 到原來的作者。其實(shí)很簡單。 在界面上邊有個(gè) Pull Requests。

點(diǎn)進(jìn)去, 然后就可以見到你和原作者項(xiàng)目的差異的代碼,上面有個(gè) "Create pull request". 點(diǎn)擊后會(huì)讓你寫上本次提交合并“主題”,還有相關(guān)提交修改的內(nèi)容的一些介紹, 這方便原作者理解和了解你的修改,并會(huì)考慮是否給你的提交合并到他自己本身的代碼。 寫完這些信息后, 然后提交過去。 作者的項(xiàng)目就會(huì)收到你這個(gè)請(qǐng)求了。如果他認(rèn)為你寫的代碼沒問題,介紹也合理, 就會(huì)合并到你的代碼到他的主代碼中。

3. 更新自己 Fork 的代碼項(xiàng)目和原作者的項(xiàng)目進(jìn)度一致的方法

經(jīng)過一段時(shí)間, 有可能作者原來的代碼變化很大, 你想接著在他最新的代碼上修改, 這時(shí)你需要合并原作者的最新代碼過來, 讓你的項(xiàng)目變成最新的。這個(gè)需要接著在你的本地操作。假設(shè)前提是, 你現(xiàn)在你的代碼是克隆下來在本地的。 例如我 Fork 了 sri (Mojo 的作者) 的 Mojo 項(xiàng)目, 我的項(xiàng)目地址是 https://github.com/iakuf/mojo. 我現(xiàn)在克隆這個(gè)在我的本地了。

git clone https://github.com/iakuf/mojo
cd mojo

接著, 我只需要添加 sri 項(xiàng)目的地址,也就是主項(xiàng)目的 remote 地址, 我們加入后, 給代碼 fetch 過來, 然后進(jìn)行 merge 的合并操作。

git remote add sri https://github.com/kraih/mojo
git fetch sri
git merge sri/master

這樣就能給你的當(dāng)前本地的項(xiàng)目變成和原作者的主項(xiàng)目一樣。 然后你按正常的流程進(jìn)行修改并提交到你的項(xiàng)目就好了。

git commit -am '更新到原作者的主分支的進(jìn)度'
git push origin

要接著給修改提交給原作者,請(qǐng)參照第二步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容