date: 2019-09-10 22:25:56
title: tech| 開源之路: github PR 走起git
想快速提升編程能力, 還不快來 「全球最大同性交友社區」~
github 開源之路, 從 PR 開始, 只須要以下簡單的幾步:github
# 更新 master git merge upstream/master # 基於最新的 master 拉出新的分支進行開發 git checkout -b feat-xxx # coding # 提交 git add git commit git push # PR 神器
完成 PR 只須要一步: cmd+r
快捷鍵編程
使用 cmd+b
快捷鍵, 切換不一樣分支, 包括 PR分佈式
在 hyperf-cloud/hyperf 主項目上, 使用 github desktop 就能夠切換到 PR, 參與到 PR 中fetch
其餘功能自行探索, 不過我感受上面幾個就夠用了, 其餘我都是使用命令行, 鍵盤啪啪啪就好了url
git 是 分佈式 的, 本地就是一個完整的倉庫, 那麼如何和其餘人一塊兒工做呢? -- 須要一個遠程倉庫, 它也是一個完整的倉庫, 用它來和咱們的倉庫之間進行同步spa
# 查看 git 本地配置 git config --local -l # 能夠看到這個 remote.origin.url=git@github.com:daydaygo/hyperf.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
這個 origin
分支就是咱們用來同步的遠程的分支, 正常狀況下, 咱們只須要一個 origin
就能夠了, 至於爲啥叫 origin, 約定俗成.命令行
正常狀況下, 咱們有 origin 就夠用了, 可是在 PR 的場景下, 咱們的 origin 是本身帳號裏的倉庫, 好比 daydaygo/hyperf
是從 hyperf-cloud/hyperf
fork 出來的, 咱們推送到 origin, 只是推送到本身的倉庫, 並無到開源項目裏, 這個時候就須要 upstream
這個分支了code
怎麼玩了呢? 若是使用 github desktop, 這步自動搞定了, 若是遇到沒有的狀況blog
# 添加 upstream git remote add upstream https://github.com/hyperf-cloud/hyperf # 若是須要修改 git remote set-url upstream https://github.com/hyperf-cloud/hyperf # 添加好後, 會看到這個 git clone --local -l remote.upstream.url=https://github.com/hyperf-cloud/hyperf remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
稍微熟悉一點 git, 就會知道 branch/tag 等都只是指向對應的 commit, 提 PR 時, 實際上是把你分支上的 commit 和你須要提交 PR 的分支上的 commit 進行合併, 因此從 master 上拉新分支時, 想取啥名字無所謂, 更爲重要的是, 你要更新到最新的 master, 和開源項目的 master 保持一致:
# 和開源項目的最新代碼保持一致 git merge upstream/master # 再拉分支進行開發 git checkout feat-xxx # 想叫啥都行, 關鍵是你要合併到開源項目的哪一個分支裏
至於爲啥叫 upstream, 約定俗成
而已, 這樣的套路, 在 coding 的過程當中比比皆是, 看多了天然就有感受了.
設置 用戶名 + email
和 github 帳號裏保持一致, 這樣在 PR 被合併進去的時候, 就能夠在開源項目的 contribute 裏看到本身啦
在本身原來的分支上繼續修改, push 事後, PR 裏就會自動同步啦
簡單吧, 交友哪有那麼難, 只要掌握一點 小技巧
國內開源的開發組都很熱烈歡迎 小鮮肉 的加入, 幾乎很容易拿到開發組的聯繫方式, 而後進行 深刻交流, PR 歷來都不是開源之路上的障礙.