發 PR?貢獻開源專案?GitHub協作?

  1. github fork
  2. local branch update commit push
  3. github open pr
  4. local update commit push
  5. upstream merge
  6. sourcetree add upstream
  7. sourcetree fetch merge(rebase) push
  • 找到那個 sdk 的 GitHub Repo,按下右上角那個 fork,然後就會把整份原始碼叉一份到你自己的帳號底下。
  • 回到你自己的 GitHub,現在他是屬於你的 repo,你要 clone 下來、切 branch、commit 修改、push branch 都有權限,所以像我大概就改了這些地方。https://github.com/Jian-Min-Huang/java-slack-sdk/commit/41a139a4bcff43a18f79df1a3e5bd5d535d54bd4
  • 準備發 PR,一般來說如果你們是自己的團隊組織可能會有 issue 跟 pull request 對應的一些 policy。但如果是純社群專案,比較禮貌的做法是遵守 source repo 指定的規則發。那如果都沒有限制,至少也可以發個 issue 跟作者講一下,一般都是樂意接受的。https://github.com/slackapi/java-slack-sdk/issues/429
    按下 PR 的按鈕,他會有一個方向告訴你是哪邊要合併進去哪邊,記得以前人家用中文解釋是說,發一個請求請作者把你更改的分支 pull 回去合併。然後進入審 PR 程序,例如有沒有遵守作者訂的 policy、測試有沒有跑成功等等等
    https://github.com/slackapi/java-slack-sdk/pull/430
  • 如果順利的話作者按 merge 之後你的修改就會出現在作者帳號的 GitHub repo 裡面,後續他如果有發佈新版本你就可以注意你的修改有沒有包含在裡面。
  • 像我們前面說的,origin 是你的 repo,作者的 repo 是同級,你需要把你的 origin 跟他做同步。我這邊是使用 Sourcetree 啦,但如果你是很酷的 cmd 或是 ide 流派也沒問題。反正第一步就是建立另外一個 remote
  • 建立下來就可以 Sourcetree 簡單手動操作啦,如果是要同步 master branch 的話,就是把 remote/master 拉下來 local,更新 origin/master 對應的 local,然後 remote/master 合併進去 origin/master,再看你要不要 push 到 origin/master,這樣就完成同步的動作惹 👍

--

--

--

https://jianminhuang.cc

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jian-Min Huang

Jian-Min Huang

https://jianminhuang.cc

More from Medium

Popular Micro OSes for containers you should know

Just a simple Makefile to avoid to repeat yourself

twinBASIC Update: December 12, 2021

Running Commands behind Proxy