用于文件转换脚本的Git工作流

用于文件转换脚本的Git工作流,git,Git,我目前正在开发一个脚本,可以将git存储库中的文件从“旧格式”转换为“新格式”。因此,基于,我们将其称为提交0(包含旧格式文件的最新版本)。我的脚本将转换文件,并且可以提交版本1。 现在,在脚本发展之后,我想以新格式提交文件的版本2。要使脚本正常工作,我必须将本地文件还原为提交0。但是:我想提交我的更改,就好像我只是稍微调整了版本1中的文件一样 实现这一目标的最佳工作流程是什么?哪些git命令允许我提交通过修改旧版本创建的文件树,就好像它是基于最新的提交一样 从旧的提交、转换和提交中签出文件:

我目前正在开发一个脚本,可以将git存储库中的文件从“旧格式”转换为“新格式”。因此,基于,我们将其称为提交0(包含旧格式文件的最新版本)。我的脚本将转换文件,并且可以提交版本1。 现在,在脚本发展之后,我想以新格式提交文件的版本2。要使脚本正常工作,我必须将本地文件还原为提交0。但是:我想提交我的更改,就好像我只是稍微调整了版本1中的文件一样


实现这一目标的最佳工作流程是什么?哪些git命令允许我提交通过修改旧版本创建的文件树,就好像它是基于最新的提交一样

从旧的提交、转换和提交中签出文件:

# We're at the $COMMIT_1
git checkout $COMMIT_0 -- \*
# convert *
git commit -a

好吧,他们都发起了合并。这不是我想要的,因为我绝对不想保留旧的脚本结果。将它们与较新的结果合并会创建损坏的混合文件。我更新了答案。现在它简单多了,只不过您可能需要列出要恢复的文件。工作起来很有魅力。但是我认为你也应该留下其他的答案,这样那些寻找答案的人也可以找到它。也许是。该链接提供对所有修订的访问。