繁体   English   中英

忽略跟踪的文件更改

[英]Ignore tracked file changes

我有一个由 git 跟踪的文件config.txt ,它在git clone上下载,但我不希望任何人更改并提交它,即如果有人更改该文件,我不希望他们的更改被跟踪因此提交 &不小心推了。

我仍然希望稍后能够添加config.txt的潜在更改,但是以明确的方式(可能是git add -f config.txt或其他)。

这样做的额外步骤也是不可取的,因此git update-index --skip-worktreegit update-index --assume-unchanged不是一个足够好的解决方案,因为它容易出现人为错误。

是否可以在 git 中这样做?

您不能忽略对 Git 中跟踪文件的更改。 Git 常见问题解答说明

Git 没有提供执行此操作的方法。 原因是如果 Git 需要覆盖这个文件,例如在结帐时,它不知道对文件的更改是否宝贵并且应该保留,或者它们是否无关紧要并且可以安全地销毁。 因此,它必须采取安全路线并始终保护它们。

尝试使用 git 更新索引的某些功能是很诱人的,即假设不变和跳过工作树位,但这些不能正常工作,不应该以这种方式使用。

如果您的目标是使用配置文件,那么最好的做法是添加示例或模板文件,然后让用户将其复制到位或让脚本创建适当的文件。 然后,您应该忽略实际配置文件的位置,只签入示例或模板。

该问题的一种可能解决方案是在克隆存储库后“跳过”跟踪文件:

git update-index --skip-worktree <path-name>

不利的一面是,这需要所有用户在克隆存储库后执行额外的步骤,因此您可以将其添加到您的README

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM