github fork之後的操作
denvey關注
0.3082015.12.30 10:01:15字數 814閱讀 2,175
因為我 fork 了 mojo 的項目,這樣才學會了如何使用 github. 因為其它一些項目是自己建立的,也就學不會怎麼和其它團隊合作。 現在給這部分不一樣的經驗分享給大家。希望有利于大家參與到開源的項目來。
1. 送出自己本地項目的修改到 github 的庫中.
如果你自己的項目,或者是其它人的項目, 你 fork 了以後, 一定是到本地來進行開發和測試。是以當你自己給自己的項目 clone 到本地後, 進行了一系列的修改後, 當你想送出時, 最友善的方式是直接使用 http 的方式進行送出。 但當你送出的時候, 就會發現一直權限出錯的提示:
這時, 你需要修改你的項目目錄下的 .git/config 這個 git 的配置檔案。給其中的 url 選項中修改如下:
這其實就是給你的 github 的帳号名, 通過 @ 加到 url 的前半部分, 這樣才能成為 http 認證的使用者資訊來進行接下來的認證. 這樣就不用關心 ssh 的 key 的問題了。
2. 當自己 fork 後的項目更新後, 送出 ( pull requests) 給原作者合并
我原來一直使用 github 但隻會送出修改, 後來在陳子的指導下學會了 pull requests 到原來的作者。其實很簡單。 在界面上邊有個 pull requests。
點進去, 然後就可以見到你和原作者項目的差異的代碼,上面有個 "create pull request". 點選後會讓你寫上本次送出合并“主題”,還有相關送出修改的内容的一些介紹, 這友善原作者了解和了解你的修改,并會考慮是否給你的送出合并到他自己本身的代碼。 寫完這些資訊後, 然後送出過去。 作者的項目就會收到你這個請求了。如果他認為你寫的代碼沒問題,介紹也合理, 就會合并到你的代碼到他的主代碼中。
3. 更新自己 fork 的代碼項目和原作者的項目進度一緻的方法
經過一段時間, 有可能作者原來的代碼變化很大, 你想接着在他最新的代碼上修改, 這時你需要合并原作者的最新代碼過來, 讓你的項目變成最新的。這個需要接着在你的本地操作。假設前提是, 你現在你的代碼是克隆下來在本地的。 例如我 fork 了 sri (mojo 的作者) 的 mojo 項目, 我的項目位址是 https://github.com/iakuf/mojo. 我現在克隆這個在我的本地了。
接着, 我隻需要添加 sri 項目的位址,也就是主項目的 remote 位址, 我們加入後, 給代碼 fetch 過來, 然後進行 merge 的合并操作。
這樣就能給你的目前本地的項目變成和原作者的主項目一樣。 然後你按正常的流程進行修改并送出到你的項目就好了。
要接着給修改送出給原作者,請參照第二步。
https://www.jianshu.com/p/2d4a7e7e000c