【问题标题】:Freezed files are added to the commit, ignoring gitignore冻结的文件被添加到提交中,忽略 gitignore
【发布时间】:2021-11-26 19:01:25
【问题描述】:

这些是我的 .gitignore 中关于 flutter pub run build_runner build --delete-conflicting-outputs 生成的文件的行

*.freezed.dart
*.g.dart 

我试过了

git rm -rf --cached .
git add .

仍然会再次添加 *.freezed.dart*.g.dart

【问题讨论】:

    标签: git gitignore


    【解决方案1】:

    我不明白为什么,但我改变了

    *.freezed.dart
    *.g.dart 
    

    *.g.dart 
    *.freezed.dart
    

    它开始工作了

    【讨论】:

    • 如果您安装了 Git 2.34.0,它在 .gitignore 处理中存在错误,已在 Git 2.34.1 中修复。我不清楚这个错误到底做错了什么,但这是一种可能性。不过,更有可能的是,我怀疑您之前已将 .gitignore 文件保存为 UTF-16,这次保存为 UTF-8。
    【解决方案2】:

    如果我正确理解了您的问题;如果文件之前已被 git 跟踪,那么您需要删除文件,然后将这些更改提交到存储库以将它们从 git 中删除,但保留本地副本。

    git rm -r --cached .
    git add .
    git commit -m "remove ignored files"
    

    或者,您可以直接删除文件/目录:

    git rm -r --cached <file>
    

    下次提交后不应再跟踪文件/目录

    【讨论】:

    • 添加了跟踪和以前未跟踪的文件-我什至 1 手动删除了它们,2 添加,3 提交,4 推送,5 再次生成它们,然后 6 添加,7 再次提交,他们得到添加到新的提交中
    • gitignore 在文件/目录是我唯一的其他建议之前不需要'*'。但是我发现了一个可以更好地帮助您的线程。 stackoverflow.com/questions/1274057/…
    • 我去看看,谢谢
    【解决方案3】:

    正如评论所言,Git 2.34.1 修复了围绕 .gitignore 的回归问题。

    discussion on the Git mailing list 揭示了围绕commit f652672 的问题(“dir:正确选择目录”)

    虽然与您的案例没有直接关系(仅忽略文件,而不是文件夹),但请检查升级到 2.34.1 是否有帮助。

    【讨论】:

    • 我升级了,但是没用
    • @user3808307 确实很奇怪。你能重现它不工作的情况,并检查git check-ignore -v -- a/file/which/should/be/ignored 没有忽略那个git check-ignore 命令工具吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 2015-04-13
    • 2012-07-12
    • 2022-11-16
    相关资源
    最近更新 更多