【发布时间】:2022-01-18 13:53:55
【问题描述】:
我有一个文件,我在结帐时将其标记为假定未更改。大多数命令(例如diff、add .、commit -a)都尊重这一点,但由于某种原因,该命令似乎忽略了该标志:
git commit .
这是一个错误吗?如果没有,在这种情况下是否有一个标志可以改变 git 的行为?
(我的 git 版本在 2.25.1,这应该很重要。)
【问题讨论】:
-
你需要
--skip-worktree,而不是--assume-unchanged。 -
@CodeCaster:
--skip-worktree可能也无济于事,尤其是在使用稀疏结账时(它使用跳过工作树位来实现自己的目的)。不支持整个方案:如果它适用于任何特定用户,那对他们来说没问题,但他们不应该指望它在未来的 Git 版本中工作。 -
@torek 好的警告,谢谢。我都赞成包含
.env.dist或appsettings.dist.json之类的模板文件,让开发人员将其复制到.gitignored.env或appsettings.json这样人们就不必采取任何技巧来保持配置文件被忽略,直到发生了变化。但有时您需要一种解决方法,因为 repo 和/或团队还没有为此做好准备 - 但正如您所说,YMMV。