在我的一个项目中,所有源文件都有一个文件头,由另一个我根本没有影响的程序更新。这些文件都被签入git存储库,我用它来跟踪我的更改。 我的问题是,当这个其他程序稍微更改标题时,我必须查看这些更改并检查它们,即使它们与源代码完全无关。
在git中是否有可能忽略每个文件的特定部分?
标题总是覆盖相同数量的行(前22行),并且总是如下所示:
/**
* \addtogroup ....
* \ingroup ...
* \{
*
* \file ....
*
* \brief .....
*
* \author $Author: ...... $
*
* Revision: $Revision: .... $
* Created on: $Date: ...... $
*
* <br>=====================================================<br>
* <b>Copyright 2012 by ...............</b>
*
* ...........................................................<br>
* Restricted rights to use, duplicate or disclose of this code<br>
* are granted through contract.
* <br>=====================================================<br>
*/
我确实找到了这个“Keyword-Expansion”但是这个接缝有点复杂,因为我不想让git更新标头(只是忽略它)。并且Ruby脚本也存在一些问题:为此不能在每台计算机上安装ruby。
另一种方法是删除每个'commit'上的标题,并在每次'pull'时添加标题版本的标题,但我不知道如何做到这一点。
答案 0 :(得分:3)
干净的内容过滤器驱动程序saw in the Pro Git Book是正确的解决方案,并不涉及ruby(它涉及您选择的任何脚本语言)
目标是,对于某种类型的文件:
这样,git status不会因为标题已被更改而将文件视为已修改。