在我的应用程序上工作时,如何增强第三方npm模块在github上提交PR

我会说我仍然是使用git和开发web应用程序的初学者。 我几次遇到这个问题,想问问社区什么是解决问题的首选方法。 问题是让我们说我正在一个Web应用程序MyWebApp ,它导入几个npm模块。 假设它使用第三方npm模块Module1 。 现在,我需要Module1的一些function,所以我想自己添加这些function,并在完成后提交一个PR。 现在,通常node_modules目录包含在.gitignore文件中,所以git不会跟踪我在node_modules目录下直接进行的更改。 此外,我需要从原来的Module1回购分叉回购,以便能够提交公关。 所以,我这样做,并更新我的package.json来说Module1: "username/Module1 ,克隆在一个单独的目录分叉repo,并开始添加到那里,当我做npm update Module1 。问题在于,由于添加一个新特性是一个迭代过程,因此往往在克隆的repo中添加一些东西是非常大的,推送更改,然后运行npm update Module1来发现你错过了一个更小的东西,整个事情再次启动。

人们如何解决这个问题? 他们是否克隆了在Web应用程序中node_modules目录本身中派生的Module1的回购? 我不确定这是否会奏效。 请分享您的解决scheme。 谢谢!

我喜欢这个问题,因为它是一个正常问题的反转,其中人们正在尝试使用git子树作为项目依赖项,并且从不向子树反向提交提交。 在他们的情况下,他们应该使用像npm这样的包pipe理器。 你有相反的情况。 不要将这些包作为一个依赖包,而应该将它们作为子树移植到父项目存储库中。 然后,您可以轻松地将Google提交的步骤反向提交到您的软件包克隆的子树存储库,最后向供应商打开一个拉取请求。