Git:仅当 file.ext2 存在时才忽略 file.ext1

标签 git gitignore

<分区>

准确地说,有一个项目有一堆 *.el 和 *.org 文件。执行时,从每个 file.org 生成一个 file.el。现在正在编写 .gitignore。是否有可能说仅当 file.org 存在时才忽略任何file.el,否则跟踪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 文件分开会更容易,只忽略前者。

关于Git:仅当 file.ext2 存在时才忽略 file.ext1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44868598/

相关文章:

git - 如何标记单个文件?或如何下载特定文件? - GIT

Git错误权限被拒绝(公钥),无法粘贴公钥

Git gc 使用过多内存,无法完成

git - .gitignore 和 web.release.config

git - 排除 .gitignore 中包含特定文件的目录

swift - 将 AWS key 保存在 github 之外

ruby-on-rails - 在heroku上运行时的ssh-agent问题

git - 出于结构原因,您可以将 .gitignore 放在 config 之类的子目录中而不是根目录中吗?

git - .gitignore、git add 和文件神秘消失

gitignore - 创建新存储库时 Git Ignore 字段在 github 桌面中意味着什么