我是如何在 GitHub 上提交 PR 的

GitHub 大家都知道拟枚,很多公司的開源項(xiàng)目都會放在這個地方薪铜。

看到那些大牛的代碼,你是否也想過恩溅?

  • 我能不能學(xué)習(xí)他們
  • 我能不能提交一些自己的代碼
  • 我的代碼能不能滿足要求
  • 我能不能得到他們的認(rèn)可

本篇將分享這段時間自己提交 PR 的一些經(jīng)驗(yàn)隔箍,也是記錄自己踩過的坑。

image

默許閱讀人群了解 GitHub 脚乡,了解基本 git 命令蜒滩。

這里以 ant-design 為例。

1. 準(zhǔn)備

1.1 Fork 項(xiàng)目

image

點(diǎn)擊 Fork 后每窖,會自動生成以自己名稱命名的項(xiàng)目帮掉,如圖:

image

因?yàn)槲疫@個是很早之前的弦悉,所以可以看到我項(xiàng)目的 master 已經(jīng)拉下原項(xiàng)目的 master 152個 commits 了窒典。不用擔(dān)心,后面會教你怎么處理稽莉。

1.2 Clone 到本地

image
# 在你想存放項(xiàng)目的文件夾下執(zhí)行
git clone https://github.com/xrkffgg/ant-design.git

cd ant-design

1.3 設(shè)置 remote

如果你這是一次性瀑志,并且很快就提交了,可以忽略此步污秆,但不建議劈猪。

  • 添加
git remote add ant https://github.com/ant-design/ant-design.git
  • 查看

如果操作正確,執(zhí)行 git remote -v良拼,你將看到

ant https://github.com/ant-design/ant-design.git (fetch)
ant https://github.com/ant-design/ant-design.git (push)
origin  https://github.com/xrkffgg/ant-design.git (fetch)
origin  https://github.com/xrkffgg/ant-design.git (push)

1.4 安裝依賴

yarn 
# or
npm i 

1.5 啟動項(xiàng)目

有的項(xiàng)目命令不一定是 start 战得,具體可以去 package.json 中查看。

yarn start
# or
npm run start

2. 開發(fā)

這里就是盡情的來 Coding庸推。

很多項(xiàng)目都有一些開發(fā)規(guī)范常侦,建議開發(fā)前可以去閱讀以下,更規(guī)范的代碼有助于 PR 的通過贬媒。

同時在開發(fā)完成后聋亡,建議運(yùn)行 項(xiàng)目中的 test 來檢查是否滿足要求(避免 PR 中 test 失敗)

2.1 提交

這里列出幾個自己的風(fēng)格际乘。

  • 先新建遠(yuǎn)程坡倔,再直接提交

GitHub 新建分支的操作為:在某個分支下,點(diǎn)擊 Branch脖含,輸入你想新建的名稱罪塔,比如 test,之后會自動以你所在分支為基準(zhǔn)新建分支养葵。

本地分支直接使用 test 分支開發(fā)垢袱,這樣避免 master 被污染。

  • 本地開發(fā)完成港柜,推送到遠(yuǎn)端其他分支
git add xx
git commit ""
git push origin master:test

這樣會導(dǎo)致自己的本地 master 多了 commit 请契。

add commit 的操作建議使用工具(IDE 集成或插件)來執(zhí)行咳榜,這樣可以檢查一下提交的代碼。

2.2 提交規(guī)范

commit 信息一定要寫的規(guī)范爽锥∥錾海可參考 commit 規(guī)范

3. PR

3.1 新建

當(dāng)你提交到遠(yuǎn)程時将谊,點(diǎn)開你的 項(xiàng)目主頁,會自動顯示出一個 Pull Request 的按鈕。

如果由于網(wǎng)絡(luò)原因沒刷新出來棋弥,可自己直接點(diǎn)擊 分支旁的 New pull request,或去源項(xiàng)目新建 PR忘巧。

3.2 填寫

每個項(xiàng)目都會對自己的 PR曲横,有一定的要求,請仔細(xì)閱讀規(guī)范填寫踩蔚。

3.3 后續(xù)

當(dāng)你做完這些操作后棚放,就可以等著項(xiàng)目維護(hù)人員來進(jìn)行代碼審核和 PR 操作啦。

如果 PR merge 后馅闽,會給出一個 刪除你項(xiàng)目中分支的操作飘蚯,可直接點(diǎn)擊。

4. 情景

這里列出一些我遇到的情景和解決辦法福也。

4.1 clone 指定分支

git clone - b v1.0 http://xxx.git

4.2 更新 fork 工程

# 1. 添加源分支
git remote add xxx git@github.com:author/repos.git

git remote -v 查看

# 2. fetch 源倉庫代碼的最新版本到本地
git fetch xxx

# 3. 合并兩個版本的代碼
git merge xxx/master
# or
git rebase xxx/master

# 4. 更新到GitHub的fork上
git push origin master

4.3 恢復(fù)遠(yuǎn)端 commit

# 1. 查看 commit 歷史
git reflog

# 2. 恢復(fù)到指定 commit 
git reset --soft HEAD~1

# 3. commit 處理

# 4. push 遠(yuǎn)端
git push origin master --force

4.4 PR rebase

# 1. master 更新到最新

# 2. rebase
git rebase master

# 3. push
git push --force

4.5 遠(yuǎn)程新建分支如何開發(fā)

git fetch
git checkout -t origin/xxx

5 后 記

感謝支持局骤。

若不足之處,歡迎大家指出暴凑,共勉峦甩。

如果覺得不錯,記得 點(diǎn)贊现喳,謝謝大家 ????

歡迎關(guān)注凯傲。

5.1 原文地址

https://xrkffgg.github.io/Knotes/blog/16.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拿穴,隨后出現(xiàn)的幾起案子泣洞,更是在濱河造成了極大的恐慌,老刑警劉巖默色,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件球凰,死亡現(xiàn)場離奇詭異,居然都是意外死亡腿宰,警方通過查閱死者的電腦和手機(jī)呕诉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吃度,“玉大人甩挫,你說我怎么就攤上這事〈幻浚” “怎么了伊者?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵英遭,是天一觀的道長。 經(jīng)常有香客問我亦渗,道長挖诸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任法精,我火速辦了婚禮多律,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搂蜓。我一直安慰自己狼荞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布帮碰。 她就那樣靜靜地躺著相味,像睡著了一般。 火紅的嫁衣襯著肌膚如雪收毫。 梳的紋絲不亂的頭發(fā)上攻走,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天殷勘,我揣著相機(jī)與錄音此再,去河邊找鬼。 笑死玲销,一個胖子當(dāng)著我的面吹牛输拇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贤斜,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼策吠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瘩绒?” 一聲冷哼從身側(cè)響起猴抹,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锁荔,沒想到半個月后蟀给,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阳堕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年跋理,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恬总。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡前普,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出壹堰,到底是詐尸還是另有隱情拭卿,我是刑警寧澤骡湖,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站峻厚,受9級特大地震影響勺鸦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜目木,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一换途、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧刽射,春花似錦军拟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至摹恰,卻和暖如春辫继,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背俗慈。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工姑宽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闺阱。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓炮车,卻偏偏與公主長得像,于是被迫代替她去往敵國和親酣溃。 傳聞我的和親對象是個殘疾皇子瘦穆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.GitHub 有什么用 學(xué)習(xí)優(yōu)秀的開源項(xiàng)目開源社區(qū)一直有一句流行的話叫「不要重復(fù)發(fā)明輪子」,某種意義上正是因?yàn)?..
    Clemente閱讀 1,433評論 1 14
  • 前言 Git使用教程 Git是什么 Git是一個開源的分布式版本控制系統(tǒng)赊豌,用于敏捷高效地處理任何或小或大的項(xiàng)目扛或。 ...
    90后的思維閱讀 908評論 0 0
  • 第一部分是文檔,為了日后查看方便放到了前邊[可能敲錯了碘饼,詳見阮一峰老師的文章]http://www.ruanyif...
    白璞1024閱讀 1,022評論 0 49
  • 今日探討的是人類對動物的馴服和地球軸線的影響熙兔。世界上有兩種動物,一種是被馴服的派昧,一種是沒被馴服的黔姜。馴服的動物為人們...
    Mistdxy閱讀 251評論 0 1
  • 今天是正月初一,在這里蒂萎,先祝大家新年快樂秆吵,萬事如意! 每逢初一五慈,村里人總是會抽出一些空閑的時間纳寂,去河邊炸魚...
    普普通通的中學(xué)生閱讀 221評論 0 1