1

我正在为我们的项目建立 Git 环境。问题是,我们的项目包含生成的 SW 包(c 文件),其中包含注释中的生成时间信息。因此,每次我们生成 SW 包时,即使没有有效的更改,每个文件的内容也会更改。所以我不想跟踪 c 文件中被注释掉的部分。有什么办法吗?

4

2 回答 2

0

正常的解决方案是将 sw/ 目录添加到 .gitignore 文件中忽略的元素列表中:

sw/

但是,如果由于结帐时的时间限制而需要
这些生成的文件,那么您可以首先将它们设为“assume-unchanged”: 参见“ git update-index --assume-unchanged on directory ”。这样,即使更改
,这些文件也不会显示在 中;git status

于 2013-01-29T07:01:48.150 回答
0

如果您真的想避免每个签出 repo 的人的生成时间过长,另一种选择是从生成的文件中删除注释,甚至只删除时间戳注释以避免虚假更改。当然,这有一个问题是源和生成的版本可能会变得不同步。

如果评论总是一行,并遵循一个简单的模式,很容易正则表达式(这似乎很可能),这不应该太难用greporsed或什么的。

如果没有,您应该可以删除所有评论而不用更改任何其他内容gcc -fpreprocessed -dD -E file.c尽管该页面上有一些其他答案说这并不总是有效并提供了一些其他选项。

于 2013-01-29T07:08:36.467 回答