所以,我有一个用 Vue 和 vue-cli 创建的项目,我想重构它。我想在其中实现 Typescript,建议使用 Vue CLI 3 开始一个新项目.
如果好奇的话,这是我项目的 repo 协议(protocol):https://github.com/kamatheuska/portafolio-client
我的问题是,如果我开始一个新项目,我将无法跟踪项目的提交历史记录。我想尽可能多地保留我的 git 提交历史和元数据。
我要做的第一件事是:
vue create refactored-project
然后将其设置为使用 Typescript 构建。现在如何将 Git 提交历史记录 或类似内容从旧项目移动到这个项目,我不知道。感谢您的帮助!
最佳答案
如果您打算从头开始重写所有内容,那么彻底中断并归档旧的 repo 没有错。
不过,我猜您会希望保留大部分业务逻辑并将文件移动/复制到结构中的新位置,并希望保留历史记录以帮助弄清楚为什么以特定方式完成某些事情。
最简单的解决方案是将所有 当前文件移动到一个“旧”文件夹,并在同一存储库中启动新项目。当您实现新功能时删除重构的旧文件,不要试图同时保持两个项目处于事件状态,这就是分支和旧提交的目的。如果你对此一丝不苟,你会得到一个“进度条”,表明你离完成重构还有多远:当“旧”文件夹为空时,所有内容都已在新结构中实现。
当你复制大部分文件时,git 会做一个合理的检测工作并提供连贯的代码历史。
有一个更复杂的解决方案:git 允许你有多个源根目录。不过,这主要是为了 merge 两个现有项目,在这里并不适用。
关于javascript - 将现有项目重构为新的 vue-cli 创建的项目时如何保留 Git 提交历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54145073/