[英]How to get changes to files in a git repo while omitting new files
我有一个git repo,其中包含一个文件夹,其中包含自动生成的源代码文件。 加班,对该代码进行了一些轻微的手动修改。 我现在处于需要重新生成文件的位置,但我不想错过任何更改。
我想做的是随着时间的推移获得对该文件夹所做的所有更改的差异,但是要排除每个文件的原始“添加”。 这样我就可以将diff应用于新的文件集。
还有一个更重要的细节:并非所有文件都是同时添加的。 添加内容与编辑混合在一起。 所以它并不像从特定提交开始生成diff那么简单。
有任何想法吗?
更多背景:
种子:
git log
与grep
或sed
味道? 修改回答:
您将需要一些脚本来遍历该目录并使用每个文件获取初始提交
git log --format=%H fileName | tail -1
而不是获得差异:
git diff ^output_of_above SHA_last_commit fileName
我假设您仍然拥有WSDL的旧副本,是一个很好的源代码控制用户和所有。 考虑到这一点,我会做以下事情:
这将合并自动生成的文件与手动调整的差异。
保持该分支,以便每次WSDL更改时,您可以检查该分支并重复最后两个步骤。 基本上,该分支应始终只包含自动生成的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.