如何在省略新文件的同时更改git仓库中的文件

Seb*_*tin 5 git diff

我有一个git repo,其中包含一个文件夹,其中包含自动生成的源代码文件.加班,对该代码进行了一些轻微的手动修改.我现在处于需要重新生成文件的位置,但我不想错过任何更改.

我想做的是随着时间的推移获得对该文件夹所做的所有更改的差异,但是要排除每个文件的原始"添加".这样我就可以将diff应用于新的文件集.

还有一个更重要的细节:并非所有文件都是同时添加的.添加内容与编辑混合在一起.所以它并不像从特定提交开始生成diff那么简单.

有任何想法吗?

更多背景:

  • 自动生成的文件是从WSDL文件生成的SOAP代理类
  • 我们正在处理多个服务,因此在需要时添加了类.
  • 我们收到了一个更新的服务器虚拟机,其中包含一些包含小修复的WSDL
  • 用于生成代理类的工具有一些不完整的实现,因此对这些文件所做的更改是解决方法

种子:

  • 有没有办法知道第一次提交文件的SHA?的味道git loggrepsed我猜?
  • 也许得到一个特定文件的提交计数,其中1 ==没有更改只有插入,我可以grep那些?

Kar*_*ldt 1

我假设您仍然拥有 WSDL 的旧副本,并且是一名优秀的源代码控制用户。考虑到这一点,我会做以下事情:

  • 在添加任何相关文件之前创建并签出一个新分支。
  • 使用旧的 WSDL 生成类并提交。
  • 使用新的 WSDL 生成类并提交。
  • 签出 master 并合并新分支。

这会将自动生成的文件的差异与您的手动调整合并起来。

保留该分支,以便每次 WSDL 更改时,您都可以检查该分支并重复最后两个步骤。基本上,该分支应始终仅包含自动生成的文件。