前言
上次花了點(diǎn)時(shí)間讓CarbonData集成到StreamingPro中伞鲫,方便大家更快速的體驗(yàn)到CarbonData的好處,集成完畢后就寫了篇文章:讓CarbonData使用更簡(jiǎn)單 文章里面有下載鏈接损痰,下載下來(lái)就能用簿寂,基本不需要你了解carbondata的知識(shí)就可以直接用。
然后集成過(guò)程中解決了不少問(wèn)題,提交了個(gè)PR谍婉,因?yàn)樯鐓^(qū)你懂的,一般接受PR的速度都比較慢镀钓,尤其是一個(gè)快速發(fā)展的項(xiàng)目穗熬,master更新頻率很快,而社區(qū)又對(duì)git log commit 之類的有一定的要求,而我之前參與的項(xiàng)目丁溅,要么自己是開發(fā)者唤蔗,要么是對(duì)應(yīng)項(xiàng)目的member,commit 有點(diǎn)隨意,這次比較嚴(yán)格唧瘾,有些流程就搞的比較混亂措译。所以在朋友的指導(dǎo)下好好學(xué)了下git的邏輯,現(xiàn)在分享下饰序。如果有錯(cuò)誤或者大家有指教請(qǐng)一定要聯(lián)系我 ??
git 流程
fork
首先在github 上fork incubator-carbondata
克隆到本地
git clone git@github.com:allwefantasy/incubator-carbondata.git
添加原來(lái)的源
git remote add url https://github.com/apache/incubator-carbondata.git
這個(gè)時(shí)候git remote 后的樣子如下:
origin git@github.com:allwefantasy/incubator-carbondata.git (fetch)
origin git@github.com:allwefantasy/incubator-carbondata.git (push)
url https://github.com/apache/incubator-carbondata.git (fetch)
url https://github.com/apache/incubator-carbondata.git (push)
開新分支
git branch spark-streaming-dataframe-support2
git checkout spark-streaming-dataframe-support2
在新分支進(jìn)行更改
無(wú)論是第二天準(zhǔn)備開始添加代碼還是說(shuō)要提價(jià)PR前领虹,都需要將master的新的commit也在自己的分支上重新打一遍,而且如果遇到?jīng)_突也需要解決求豫。具體方式如下:
首先拉master分支的最新內(nèi)容塌衰,然后再切換回來(lái)
git checkout master
git pull url master
git checkout spark-streaming-dataframe-support2
接著講master的commit 都遷移到我們現(xiàn)在所處的分支上:
git rebase -i url/master
這個(gè)過(guò)程可能會(huì)有沖突,你可以通過(guò)git status查看沖突的文件蝠嘉,解決后用git add 添加最疆,之后繼續(xù)通過(guò)
git rebase --continue
來(lái)完成中斷的rebase操作。
最后將branch 在push到origin上去:
git push -f origin spark-streaming-dataframe-support2
這個(gè)流程無(wú)論是你新建或者更新PR都是適用的蚤告。如果是新增可以
跑到 https://github.com/allwefantasy/incubator-carbondata 上努酸,選擇頁(yè)面的New pull request
按鈕。 如果是更新杜恰,直接打開PR的頁(yè)面获诈,它會(huì)實(shí)時(shí)更新仍源。
如果你提交的commit 太多,這個(gè)時(shí)候可以把他們合并成一個(gè)commit,具體做法如下舔涎,找到最新的那個(gè)commit 的id
git rebase -i [your-id]
之后就會(huì)出現(xiàn)很多 pick 開頭的行笼踩,將第一行后面的pick 都改成squash,保存退出,就會(huì)將squash 開頭的commit 都合并到第一個(gè)commit上了亡嫌,這樣可以減少你的commit數(shù)量嚎于。