当前位置: 首页 > 知识库问答 >
问题:

前端 - 如何拆分有依赖的PR?

商风华
2023-05-06

参与开源的时候,需要我们提交PR。但是一次修改可能涉及到太多功能点的修改,因此需要对commit记录拆分PR。但是这些PR很难不依赖前面的提交,这时候我们该如何处理呢?是等开源团队每次合并一条PR,再提交新的PR吗?

共有1个答案

孟均
2023-05-06

看看這几篇文章
https://www.v2ex.com/t/798431
文章一思路:
方法一:
从 master 分支拉出三个需求分支,提出三个 PR,目标分支都为 master ,代码提交分别是:

master
  \ \ \
   \ \ -> A (PR1: A..master)
    \ --> B (PR2: B..master)
     ---> C (PR3: C..master)

方法二:
从 master 分支只拉出一条分支,但是基于该个人分支再拉分支,最后提出三个 PR,但是目标分支各不一样,提交图如下:

master
      \
       -> A (PR1: A..master)
           \
            -> B (PR2: B..A)
                \
                 -> C (PR3: C..B)

方法三:
先从 master 分支拉出一个dev分支,然后在dev分支上完成所有需求。接着,从dev拉出单独的需求分支,这些分支只包含相应需求的改动。最后,把这些单独的需求分支提交 PR。

master
      \
       -> dev
          \
           -> A (PR1: A..master)
           -> B (PR2: B..master)
           -> C (PR3: C..master)

https://medium.com/@groksrc/protip-how-to-split-large-branche...
https://www.cnblogs.com/netry/p/git-split-large-pr.html

 类似资料:
  • 问题内容: 我想问问是否有可能(通常是一个好主意)使用npm处理前端依赖项(Backbone,jQuery)。 我发现Backbone,jQuery等都可以通过npm获得,但我必须设置另一个提取点(默认为)或symlink或其他东西。 有人做过吗? 可能吗? 我必须更改什么? 问题答案: 简短的答案: 有点 。 在很大程度上要由模块作者来支持,但这并不常见。Socket.io是此类支持模块的示例,

  • 问题内容: 假设我想在项目中添加guice-assistedinject作为依赖项。它将guice工件指定为依赖项本身。如何告诉它使用guice的no_aop版本? 我知道我可以执行以下操作,但是我可以一步完成而不排除guice模块吗? 问题答案: 没有更简单的解决方案。您可以使用简短的依赖性表示法(例如)来缩短代码。

  • 一个package.json文件中,怎么看有什么npm包是依赖node-sass的呢?搜索的话应该如何搜索呢?

  • 安装依赖的时候,提示警告,有 38 个依赖过期了。 这些依赖不确定新版本是否兼容当前项目,有些 babel 的插件废弃了,有些查看很久没有更新。有没有好的办法解决依赖过期的问题呢。

  • 今天在项目中需要用到 semver 这个库,然后我按照之前的经验,就直接执行 npm i @types/semver 但是在使用的时候,竟然出现了以下错误 但是我之前开发中,我的 node 和 express 只安装了 @types 的版本。并且可以正常使用。 问题: @types只包含包的声明文件?还是也包含包本身呢?(或者说有些包只包含依赖,有些包本身和声明文件都被包含了呢?)