我有一个日志文件errors.log软件用来报告错误。软件本身不能创建errors.log,所以文件必须在手之前存在。
问题是,如果我将它添加到.gitignore中,那么开发人员将需要在他们的机器上手动创建它。如果我不忽略它,那么每个开发人员都将在测试后提交自己的errors.log内容…合并时麻烦很大。
如何使新开发人员在最初克隆时获得errors.log的空白副本,但在使用git add -A时不将其添加到工作树中(无论更改如何)?

最佳答案

更新
最好的方法是skip-worktree
跳过工作树,根据this answer即使git知道文件已经被修改(或者需要通过reset--hard等修改),它也会假装没有修改,而是使用索引中的版本。这将一直持续到索引被丢弃为止。
另一个选项assume-unchanged是为检查是否修改了一组文件而设计的

git update-index --assume-unchanged FILE_NAME

如果要再次跟踪更改,请使用以下命令:
git update-index --no-assume-unchanged FILE_NAME

07-24 09:45
查看更多