首页 > 解决方案 > 在 github 上重写一个 npm 包

问题描述

我有一个项目被相当多的人使用并且有几个贡献者。我想用打字稿重写整个库,但我不确定最好的方法是什么。如何在重写整个项目的同时保留项目的历史?我的直觉是简单地从本地一个新的 repo 开始,然后最终将其作为一个新的主要修订版推送,但我不确定这将如何影响当前的历史?对此有什么想法吗?

标签: javascriptgittypescriptgithubnpm

解决方案


如果你想让历史上的一切都一样,

  1. 创建一个新分支并用新的打字稿替换所有代码

  2. 创建拉取请求。

  3. 对于冲突,您必须从服务器获取本地和忽略,因为您知道您的文件是最新的。

  4. 合并拉取请求。
  5. 验证所有作品。

通过这种方法,它将保留完整的旧历史和贡献者以进行跟踪。

尽管从头开始的新事物总是有一些复杂性,例如:

  • 旧代码报告的错误/问题现在已解决或待处理甚至相关。

  • 如果相关,旧的未合并的拉取请求将要么需要合并,否则它将因新的打字稿代码而过时。我已经可以看到许多开放的拉取请求。

  • 自从添加/替换旧文件以来,新文件名必须跟踪历史记录,但项目将具有完整的历史记录并提供参考。

拥有新的存储库并替换旧的将不会跟踪旧的贡献并且将无法跟踪。您还可以创建新的存储库/项目并保留旧的完整,但这完全取决于您和不同的决定。


推荐阅读