假设我有以下Git场景,其中:
1st
上提交:我在lorem/text01.txt
内创建带有一些随机文本的text01.txt
2nd
上提交:我在lorem/text02.txt
内创建带有一些随机文本的text02.txt
3rd
上提交:我在lorem/text03.txt
内创建带有一些随机文本的text03.txt
4th
上提交:我在lorem/text04.txt
内创建带有一些随机文本的text04.txt
以此类推...(您已经知道了模式)
之后,请在1001th
上说,您会注意到所有这些文件(text01.txt
.... text1001.txt
)都应该在其中在newfoldername/
内的strong> lorem/
不是,
但问题是,您不想创建newfoldername/
,将所有这些文件移动到新目录中,然后提交。
您希望 Git历史记录从一开始就很好,即 1st
承诺要创建newfoldername/text01.txt
,{{1} }致力于创建2nd
,依此类推。
我的问题是,如何实现这一目标而不必分别重新设置(newfoldername/text02.txt
)每个提交序列?
答案 0 :(得分:2)
让您通过重写中提到的分支来重写Git修订历史记录,在每个修订上应用自定义过滤器。这些过滤器可以修改每棵树(例如删除文件或对所有文件运行perl重写)或有关每次提交的信息。否则,所有信息(包括原始提交时间或合并信息)将被保留。