善用Git和GitHub之第一次pull request

第一次pull request

一直想要在github上作出一點貢獻(xiàn),暫時沒有提交代碼的能力。第一次pull request是幫一個外國開發(fā)者翻譯一個Telegram bot。這篇文章就是我的一些筆記。

開始工作

  • 首先你應(yīng)該要注冊一個github帳號(假如叫kris,下文有用到)
  • 用網(wǎng)站打開你想要貢獻(xiàn)的項目倉庫,然后你會看見有一個fork按鈕
  • 在你的電腦安裝git,雖然說直接在網(wǎng)站上操作也行,不過我說的是命令行

開始pull request

當(dāng)你按了fork之后,就是相當(dāng)與復(fù)制了這個項目到你的github倉庫上,你會發(fā)現(xiàn)你的倉庫會多出一個項目。例如有一個叫star的開發(fā)者有一個叫daydaysleep的項目,你在他的主頁上看見的是star/daydaysleep。當(dāng)你fork了之后,你會發(fā)現(xiàn)你的主頁上面出現(xiàn)kris/daydaysleep,但是其實這是變成你的項目。
然后你在電腦命令行clone你的項目到電腦

$ git clone https://github.com/kris/daydaysleep.git

然后修改你的代碼,修改完畢之后

$ git add . && git commit -m "modified some file"
$ git push origin master

但其實你這么做,只是把代碼推送到你的自己的倉庫中,如果這時候你creat pull request,如果上游項目已經(jīng)作出修改,但是你push之前pull下來的只是你自己倉庫的更新,所以上游合并你的代碼的時候可能工作量會很大。
所以如果你想給上游貢獻(xiàn)代碼,你還需要更新上游的代碼到你的本地倉庫

# 添加上游倉庫
$ git remote add upstream https://github.com/star/daydaysleep.git
# 從original repo更新文件
$ git fetch upstream
# 合并上游的master分支到你當(dāng)前的分支
$ git merge upstream/master

然后每次開始工作之前都先fetch upstream 和merge,然后修改完代碼之后push到自己的倉庫

$ git add . && git commit -m "modified some file"
$ git push origin master

然后在github中打開自己的倉庫項目,點擊pull request,選擇好你的分支和想要合并到上游的哪個分支,做好code review,寫一點注釋給作者看,然后提交。
最后等到上游合并你的pull 熱去

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

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

  • 多種多樣的工作流使得在項目中實施Git時變得難以選擇。這份教程提供了一個出發(fā)點,調(diào)查企業(yè)團(tuán)隊最常見的Git工作流。...
    JSErik閱讀 4,598評論 2 8
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評論 25 709
  • 誰的成功都不是偶然的,也不是三兩天就能做到的,與其羨慕別人不如充實自己,踏踏實實地朝著自己目標(biāo)的方向去走,只要心定...
    劉紅_b696閱讀 286評論 0 0
  • 感謝主給我們?nèi)彳浀男?,不讓我們在那么剛硬。讓我們時常有感動,有感恩。不再只是盯著自己的缺點,接納自己,完全的接納自...
    褚金金閱讀 259評論 0 0
  • 看見
    仔的芭比閱讀 218評論 0 0

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