转载

提交PR的git 流程

前言

上次花了点时间让CarbonData集成到StreamingPro中,方便大家更快速的体验到CarbonData的好处,集成完毕后就写了篇文章: 让CarbonData使用更简单 文章里面有下载链接,下载下来就能用,基本不需要你了解carbondata的知识就可以直接用。

然后集成过程中解决了不少问题,提交了个 PR ,因为社区你懂的,一般接受PR的速度都比较慢,尤其是一个快速发展的项目,master更新频率很快,而社区又对git log commit 之类的有一定的要求,而我之前参与的项目,要么自己是开发者,要么是对应项目的member,commit 有点随意,这次比较严格,有些流程就搞的比较混乱。所以在朋友的指导下好好学了下git的逻辑,现在分享下。如果有错误或者大家有指教请一定要联系我 :grinning:

git 流程

fork

首先在github 上fork incubator-carbondata

克隆到本地

git clone git@github.com:allwefantasy/incubator-carbondata.git

添加原来的源

git remote add url https://github.com/apache/incubator-carbondata.git

这个时候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

在新分支进行更改

无论是第二天准备开始添加代码还是说要提价PR前,都需要将master的新的commit也在自己的分支上重新打一遍,而且如果遇到冲突也需要解决。具体方式如下:

首先拉master分支的最新内容,然后再切换回来

git checkout master
git pull url master
git checkout spark-streaming-dataframe-support2

接着讲master的commit 都迁移到我们现在所处的分支上:

git rebase -i url/master

这个过程可能会有冲突,你可以通过git status查看冲突的文件,解决后用git add 添加,之后继续通过

git rebase --continue

来完成中断的rebase操作。

最后将branch 在push到origin上去:

git push -f origin spark-streaming-dataframe-support2

之后跑到 https://github.com/allwefantasy/incubator-carbondata 上,选择页面的 New pull request 按钮,就可以提交PR了。

原文  http://www.jianshu.com/p/d921828bf623
正文到此结束
Loading...