我们有一个自动生成的JavaScript文件,它被跟踪在我们的Git存储库中。问题是它包含了一个(无用的)时间戳注释,这经常给我们带来微不足道的合并冲突。我想避免这些冲突。
我曾经找到了一个使用.gitattributes和filter/smudge解决方案。我按照以下方式设置,以便在提交或检出时从文件中删除此时间戳行:
.gitattributes:
虽然这样似乎消除了合并冲突,但又引入了另一个烦恼,即该文件现在保持不断修改的状态。也就是说,“status”仍显示它已被修改,因为本地(未经过滤的)副本包括时间戳行(但提交的文件不包括该行)。
有没有更好的方法可以避免合并冲突,同时隐藏对文件此部分的本地更改呢?
我曾经找到了一个使用.gitattributes和filter/smudge解决方案。我按照以下方式设置,以便在提交或检出时从文件中删除此时间戳行:
.gitattributes:
<the file>.js filter=tsfilter
<the file>.js smudge=tsfilter
.git/config:
[filter "tsfilter"]
clean = perl -pe \"s/\\/\\/.*<the pattern>.*$//\"
smudge = perl -pe \"s/\\/\\/.*<the pattern>.*$//\"
虽然这样似乎消除了合并冲突,但又引入了另一个烦恼,即该文件现在保持不断修改的状态。也就是说,“status”仍显示它已被修改,因为本地(未经过滤的)副本包括时间戳行(但提交的文件不包括该行)。
有没有更好的方法可以避免合并冲突,同时隐藏对文件此部分的本地更改呢?