给webpack提了一个pr之后......(二)

简介: 给webpack提了一个pr之后......

创建提交pr

  • fork,webpack仓库到自己github仓库
  • git clone 到本地
  • 从main分支拉过来,新建一个靠谱的分支 feature
  • 修改代码
  • git add . 提交信息
  • git commit -m "XXXX" 填写靠谱的描述信息
  • git push --set-upstream origin feature
  • 此时登陆github 就会看到自己fork的仓库出现一个Compare & pull request

1686899091018.jpg

点击,进入webpack仓库代码提交合并页面,仿照以前的提交的git log 格式,填写信息,之后,点击 create pull request

1686899106236.jpg


  • 1686899106236.jpg
  • 创建pr之后,就成功了,我们就可以在webpack源码仓库看到提交的pr了。
  • 1686899140339.jpg

如何修改commit

当我们提交之后,发现自己commit 信息提交的不合适,或者有歧义,如何修改呢?

  • git log之后,可以看到你之前提交过的git历史:
  • 接下来,在bash里输入wq退出log状态,执行:
  • 1686899152349.jpg
  • git commit --amend

这时bash里会出现以下内容:

1686899163245.jpg

  • 键入i 进入输出模式。修改commit 信息
  • 修改完毕之后,:wq 保持修改
  • 此时git log 已经能看到我们的修改了

1686899176445.jpg

  • git push -f 提交修改

如何合并commit

因为是给源码提pr,所以当时很慎重,我分几次提交,导致有3次commit,山月老师建议合并成一次,自己开发随心所欲惯了,忽然要合并几次提交,就非常生疏,特意查了一下,所以记录一下。

  • git log,获取commit id
  • 如果需要合并最近两个,需要获取倒数第3个commitId\
  • git rebase -i e0108eeb2972553d


1686899194779.jpg

  • 按照默认顺序,可以将除第一个提交外,都使用 fixup 或 squash 进行标记,最终你将得到这些commit向上合并,最终变成一个,提交信息是 pick 标记的信息。
  • pick:使用此提交不做操作
  • squash:将指定的提交合并到上边的pick请求中,保留提交信息
  • fixup:与 squash 类似,但不保留提交信息
  • 把不需要的记录 改成fixup ,:wq保存
  • git push origin --force

完成上述操作之后,整个git提交记录就会完全改变了,而且是不可逆操作,当然这也意味着rebase操作是有一定风险的,如果你不太清楚需要做什么的话就不要做。

签署EasyCLA

一个开源协议,承诺自己的代码可供开源使用


1686899210069.jpg

这里需要注意,自己提交信息中的邮箱作者信息,需要和签署的邮箱一致,如果不一致,即使签署依然显示无效。

而我这里遇到的问题就是邮箱作者信息用的是公司gitLab的邮箱信息,所以github识别不到。

如何修改邮箱作者信息

git commit --amend --author="otheruser <otheremail@qq.com>"
git rebase --continue
git push -f origin

总结

以上就是我提交pr的来龙去脉,至于提交pr的意义大家自己体会。

如果对屏幕前的大帅比大漂亮有帮助的话,点个赞什么的就太好了!

无论pr 会不会被merge,这都是webpack 团队事情了,对于我而言,从这个过程中,其实用到的知识点很多,都会细碎,也很简单,一但连贯起来。我遇到了很多很多问题,所以才深深感觉到“纸上学来终觉浅,绝知此事要躬行”。

看再多博客知识视频,不如自己动手操作一次!

参考

zhuanlan.zhihu.com/p/100243017

wangbjun.site/2022/coding…

oschina.gitee.io/opensource-…


相关文章
|
缓存 前端开发 算法
给webpack提了一个pr之后......(一)
给webpack提了一个pr之后......
78 0
|
2月前
|
JavaScript 前端开发
webpack成长指北第9章---webpack如何对icon字体进行打包
webpack成长指北第9章---webpack如何对icon字体进行打包
59 1
|
2月前
|
前端开发 JavaScript
webpack成长指北第7章---webpack的css\less\scss样式打包
webpack成长指北第7章---webpack的css\less\scss样式打包
57 0
|
2月前
|
前端开发 JavaScript
webpack成长指北第8章---webpack的CSS Modules打包
webpack成长指北第8章---webpack的CSS Modules打包
35 0
|
2月前
webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts
webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts
186 0
|
25天前
|
缓存 前端开发 JavaScript
Webpack作为模块打包器,为前端项目提供了高度灵活和可配置的构建流程
【6月更文挑战第12天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(如关闭不必要的类型检查)和webpack.config.js选项,启用Webpack缓存,实现增量构建,代码拆分和懒加载。这些方法能提升构建速度,提高开发效率。
36 3
|
2月前
|
前端开发 JavaScript 开发者
深入了解Webpack:前端模块打包工具
深入了解Webpack:前端模块打包工具
34 1
|
2月前
|
JavaScript 数据库
使用 Webpack 打包 node 程序,node_modules 真的被干掉啦
使用 Webpack 打包 node 程序,node_modules 真的被干掉啦
113 0
|
2月前
|
JavaScript 前端开发
构建工具:配置Webpack打包Vue项目
【4月更文挑战第24天】本文介绍了如何配置Webpack来打包Vue项目。首先,Webpack作为模块打包器处理依赖并打包成可执行文件。接着,通过安装Node.js和npm,创建Vue项目,进入项目目录并配置Webpack的入口、输出、加载器和插件。最后,运行构建命令完成打包。理解Webpack基础并按需配置,能优化前端项目构建和开发体验。
|
10月前
|
JavaScript
Webpack4 创建项目以及打包一个JS文件
Webpack4 创建项目以及打包一个JS文件
95 0