Git: 仅当 file.ext2 存在时才忽略 file.ext1
Git: ignore file.ext1 only if file.ext2 exists
准确地说,有一个项目有一堆*.el 和*.org 文件。执行时,从每个 file.org 生成一个 file.el。现在正在编写 .gitignore。是否有可能说任何 file.el 应被忽略 只有当 file.org 存在时,否则 track file.el
This没有解决。也不会在 .gitignore
中写入每个文件
不适用于 gitignore(我不知道有条件的忽略规则)。
解决方法是 bash 脚本(甚至可以在 Windows 上运行),它将:
- 找到全部
file.el
- 对于每个文件,测试
file.org
是否存在
- 如果是,使用
git update-index --no-assume-unchanged file.el
(或 git skip-worktree --no-assume-unchanged file.el
:参见“Difference Between 'assume-unchanged
' and 'skip-worktree
'”
但是,如评论所述,将生成文件与 dist 文件分开会更容易,只忽略前者。
准确地说,有一个项目有一堆*.el 和*.org 文件。执行时,从每个 file.org 生成一个 file.el。现在正在编写 .gitignore。是否有可能说任何 file.el 应被忽略 只有当 file.org 存在时,否则 track file.el
This没有解决。也不会在 .gitignore
中写入每个文件不适用于 gitignore(我不知道有条件的忽略规则)。
解决方法是 bash 脚本(甚至可以在 Windows 上运行),它将:
- 找到全部
file.el
- 对于每个文件,测试
file.org
是否存在 - 如果是,使用
git update-index --no-assume-unchanged file.el
(或 git skip-worktree --no-assume-unchanged file.el
:参见“Difference Between 'assume-unchanged
' and 'skip-worktree
'”
但是,如评论所述,将生成文件与 dist 文件分开会更容易,只忽略前者。