【发布时间】:2021-12-21 07:19:05
【问题描述】:
我有一个存储库,其中包含运行第三方可执行文件时生成的文件。我需要跟踪此可执行文件生成的文件,以允许我在用户之间同步可执行文件设置。
让我们将此文件称为“executable_settings.json”
文件可以通过两种方式更改:
- 需要添加到存储库的设置更改
- 每次运行可执行文件时都会生成运行时更改,并以正则表达式可以捕获的指定方式更改文件(例如“编辑时间:XXXX-YY-ZZ”)。我不希望这些更改出现在 repo 中。
有没有办法让 git 根据规则自动忽略对 executbale_settings.json 的更改?我想找到一种方法,让类型 2 的更改不会显示为 git 的更改,除非同时也发生类型 1 的更改。
【问题讨论】:
-
不,git 只能忽略基于文件 glob 的整个文件。
-
谢谢@fredrik。我想知道是否有 git hooks 的解决方法?我对钩子没有任何经验,但我想知道是否可以在 git status 之前运行一个钩子,这样: if (no "Change 1") then(replace the "Change 2" with text in the以前的提交)这是可以使用挂钩的吗?
-
您可以在git-scm.com/book/en/v2/Customizing-Git-Git-Hooks了解哪些钩子可用
-
Hooks 在这里帮不上忙。 合并驱动程序理论上可以提供帮助,但实际上也无济于事。