我经常让自己陷入以下情况:
我开始应该是一个“小项目”(几乎总是一个文件脚本),并决定该项目足够简单,我不需要使用 git 对其进行版本控制。
所以我在编写脚本 - 调用它do-thing.py
。在某个时候,我决定我想做一些重构,或者做一些其他大的改变。我决定进行备份,以防万一它不起作用并且我想恢复。所以,我复制文件并将副本命名为do-thing 1-before big refactor.py
.
这继续下去,在某些时候,我有一个文件夹,里面装满了脚本的各种旧快照:
do-thing.py
do-thing 1-before big refactor.py
do-thing 2-before changed function.py
do-thing 3-before alg change.py
其中从最旧到最新的顺序是do-thing 1-*.py
, do-thing 2-*.py
, do-thing 3-*.py
, do-thing.py
(尽管这个细节对这个问题并不重要)。
在这一点上(甚至可能超过 3 个备份),我意识到这个项目比预期的要大,我应该刚开始使用版本控制。不幸的是,这种认识只有在我陷入这种情况之后才会出现。
我想将一系列这样的文件转换为一系列 git 提交。我过去手动完成了这项工作,但想知道是否有任何现有的工具。理想情况下,它还将使用文件名作为提交消息。
是否有任何现有的工具可以将文件版本转换为 git 历史记录?
在 git pro 书籍的本节中,有这样一句话:“质量导入器可用于许多其他系统,......甚至是档案目录。” ,建议存在这样的工具,但他们没有提供任何参考。
在同一部分,靠近底部,他们提供了一个示例脚本,用于对文件夹执行此操作。我正在考虑为这个用例编写自己的 git fast-exporter,但我认为这个用例一定很常见,所以我想在编写自己的之前先了解一下现有选项。
我在网上找不到任何东西,所以我在这里问。您是否知道进行此转换的任何工具?