tech| 開源之路: github PR 走起

date: 2019-09-10 22:25:56
title: tech| 開源之路: github PR 走起git

想快速提升編程能力, 還不快來 「全球最大同性交友社區」~

PR 只需幾步

github 開源之路, 從 PR 開始, 只須要以下簡單的幾步:github

  • 找到心儀的項目, fork

fork

  • 本身的倉庫裏就有了, clone

clone

  • 最新的 master 拉一個分支, 修改代碼
# 更新 master
git merge upstream/master

# 基於最新的 master 拉出新的分支進行開發
git checkout -b feat-xxx

# coding

# 提交
git add
git commit
git push

# PR 神器

github desktop

完成 PR 只須要一步: cmd+r 快捷鍵編程

參與 PR

  • 參與 PR

參與 PR

使用 cmd+b 快捷鍵, 切換不一樣分支, 包括 PR分佈式

hyperf-cloud/hyperf 主項目上, 使用 github desktop 就能夠切換到 PR, 參與到 PR 中fetch

github desktop 小技巧

  • cmd+1 : change 界面, 查看代碼修改
  • cmd+2 : history 界面, 查看歷史提交
  • cmd+t : 切換不一樣倉庫
  • cmd+b : 切換不一樣分支, 包括 PR
  • cmd+r : 提交 PR

其餘功能自行探索, 不過我感受上面幾個就夠用了, 其餘我都是使用命令行, 鍵盤啪啪啪就好了url

tips

  • upstream 是啥?

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/*
  • 提 pr 時分支是否是須要同名

稍微熟悉一點 git, 就會知道 branch/tag 等都只是指向對應的 commit, 提 PR 時, 實際上是把你分支上的 commit 和你須要提交 PR 的分支上的 commit 進行合併, 因此從 master 上拉新分支時, 想取啥名字無所謂, 更爲重要的是, 你要更新到最新的 master, 和開源項目的 master 保持一致:

# 和開源項目的最新代碼保持一致
git merge upstream/master

# 再拉分支進行開發
git checkout feat-xxx # 想叫啥都行, 關鍵是你要合併到開源項目的哪一個分支裏

至於爲啥叫 upstream, 約定俗成 而已, 這樣的套路, 在 coding 的過程當中比比皆是, 看多了天然就有感受了.

  • 愉快的參與開源, 成爲 contribute

設置 用戶名 + email 和 github 帳號裏保持一致, 這樣在 PR 被合併進去的時候, 就能夠在開源項目的 contribute 裏看到本身啦

github contribute

  • PR 收到了修改意見怎麼辦

在本身原來的分支上繼續修改, push 事後, PR 裏就會自動同步啦

寫在最後

簡單吧, 交友哪有那麼難, 只要掌握一點 小技巧

國內開源的開發組都很熱烈歡迎 小鮮肉 的加入, 幾乎很容易拿到開發組的聯繫方式, 而後進行 深刻交流, PR 歷來都不是開源之路上的障礙.

相關文章
相關標籤/搜索