如何进行开源 PR
先将antd
的代码 fork 一份到自己的仓库,然后 clone 下来,并添加主代码库:
# fanhualei 是我自己的账户名git clone https://github.com/fanhualei/pro-components.gitcd pro-components# 打开vscode: 这一步也可以不做,只不过是我的一个习惯code .# 添加主代码库git remote add upstream https://github.com/ant-design/pro-components.git
先将antd-design-pro
的代码 fork 一份到自己的仓库,然后 clone 下来,并添加主代码库:
# fanhualei 是我自己的账户名# github速度很慢,要耐心等待git clone https://github.com/fanhualei/ant-design-pro.gitcd ant-design-pro# 打开vscode: 这一步也可以不做,只不过是我的一个习惯code .# 添加主代码库git remote add upstream https://github.com/ant-design/ant-design-pro.git
按照antDesign
,如果是Bug
就在master
分支上操作,如果是feature
就在feature
上操作。
但是我没有找到pro-components
上的feature
分支,只能在master
上操作了。
基于我们之前有添加主仓库,如果我们想与主仓库对应的分支保持同步的话,使用 git rebase
即可:
# 拉去主仓库的代码git fetch upstream# 同步对应分支的代码git rebase upstream/master
# 在本地切换分支,例如先从 master 切换至 feature等。 由于pro-components只有一个分支,所以就在master上操作了。git checkout master# 然后从 master 上切一个新的分支出来 ,这个是我自己的编码,可以与官方的不一直,2150是Bug号git checkout -b master-feature-PageContainer-2150
先别修改代码,先看看下载的代码好用不,运行一下测试程序,熟悉代码结构,调试一下。
安装组件
tyarn install
运行
tyarn start
然后就出现了一个官方的界面,完全明白了,以前还想怎么联调与修改代码呢? ant 做的还是不错的。
先测试一下,如果在错误的代码上修改,那就糟糕了。
tyarn run test# 这一条应该在git commit时,会自动执行。 不建议执行这个代码,因为会造成很多代码被修改了# tyarn run lint
遇到两个问题:
yarn start
重新启动。FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory1: 00007FF641FC124F napi_wrap+1244312: 00007FF641F62A06 v8::base::CPU::has_sse+345023: 00007FF641F636C6 v8::base::CPU::has_sse+377664: 00007FF6427682DE v8::Isolate::ReportExternalAllocationLimitReached+945: 00007FF642750321 v8::SharedArrayBuffer::Externalize+8336: 00007FF64261DBEC v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+14367: 00007FF642628F90 v8::internal::Heap::ProtectUnprotectedMemoryChunks+13128: 00007FF642625AC4 v8::internal::Heap::PageFlagsAreConsistent+32049: 00007FF64261B353 v8::internal::Heap::CollectGarbage+128310: 00007FF64261A744 v8::internal::Heap::CollectAllAvailableGarbage+19611: 00007FF642619B9F v8::internal::Heap::AddRetainedMap+247912: 00007FF642641B17 v8::internal::Factory::NewRawTwoByteString+8713: 00007FF6423A7053 v8::internal::interpreter::JumpTableTargetOffsets::iterator::operator=+462714: 00007FF642B9404D v8::internal::SetupIsolateDelegate::SetupHeap+56794915: 00007FF642BA9260 v8::internal::SetupIsolateDelegate::SetupHeap+65449616: 00007FF642B13BDC v8::internal::SetupIsolateDelegate::SetupHeap+4252417: 00007FF642B13BDC v8::internal::SetupIsolateDelegate::SetupHeap+4252418: 00007FF642B13BDC v8::internal::SetupIsolateDelegate::SetupHeap+4252419: 00007FF642B13BDC v8::internal::SetupIsolateDelegate::SetupHeap+4252420: 00007FF642B13BDC v8::internal::SetupIsolateDelegate::SetupHeap+4252421: 00007FF642B13BDC v8::internal::SetupIsolateDelegate::SetupHeap+4252422: 000002B864328965
我问了一下,是内存太小的问题,要 64G 内存才可以。
yarn test -u
# 我们先将自己的修改提交到自己 fork 过来的仓库相对应的分支上面去。git add .git commit -m "docs(compiler): add some docs for PageContainer basic demo and docs"git push origin master-feature-PageContainer-2150
commit 遇到下面的错误
因为没有用这些开头
�💥 feat(compiler): add 'comments' option�🐛 fix(compiler): fix some bug�📝 docs(compiler): add some docs�💄 UI(compiler): better styles�🎨 chore(compiler): do something
根据github
的提示,提交 pull request 。 2021 年 3 月份以后,github
就很难登录了,难过。