有一个文件被跟踪git,但现在该文件在.gitignore列表中.
但是,该文件在git status编辑后会一直显示.你怎么强迫git完全忘掉它?
我对一个我不想提交到我的存储库的文件进行了本地更改.它是用于在服务器上构建应用程序的配置文件,但我想在本地使用不同的设置进行构建.当然,当我将'git status'作为要上演的东西时,该文件总是显示出来.我想隐藏这个特定的更改而不是提交它.我不会对文件进行任何其他更改.
经过一番挖掘后,我看到了两个选项:'假设未改变'和'跳过工作树'.这里的前一个问题谈到了它们,但并没有真正解释它们之间的区别.我的问题是:这两个命令有何不同?为什么有人会使用其中一个?
我开发的一个常见场景是代码库将有几个配置文件需要特定于机器的设置.这些文件将被检入Git,其他开发人员将不小心将它们重新检入并打破其他人的配置.
一个简单的解决方案就是不将它们检入Git,甚至为它们另外添加.gitignore条目.但是,我发现在文件中有一些合理的默认值更加优雅,开发人员可以根据自己的需要进行修改.
有没有一种优雅的方式让Git很好地使用这些文件?我希望能够修改特定于机器的配置文件,然后能够在不检查该文件的情况下运行"git commit -a".
我想补充一个overrides.json.这允许开发人员在本地更改配置对象.我希望它以默认状态添加到存储库,但我希望将来忽略它的未来更改.
.gitignore在我可以忽略之前,似乎迫使我将其从分支中移除.我知道,git update-index但每个开发人员都必须手动执行此操作.为了澄清,我不希望删除该文件; 我实际上希望将文件添加到存储库但在此之后未跟踪.
我不能简单地删除它,因为GET对丢失文件的请求会在浏览器的javascript控制台中抛出丑陋的错误消息.
我们有一种情况,就是我们的存储库中的文件应被锁定在适当的位置,不可更改。
我已将文件添加到其中,.gitignore但是当我在本地对其进行修改时,git仍会跟踪该文件-我现在的理解是,将文件/文件夹添加到.gitignore中后,它们就已经无法使用了,一种可能性是使用git rm --cached file取消追踪。
如果我这样做了,下一个克隆该文件的人将不再在该存储库中使用该文件吗?有没有更好的方法可以在回购中冻结此文件?
我的工作目录中有几个文件存在于远程代表中,我总是出于特定原因更改它们。
是否可以让 git 在提交时忽略这些文件,同时这些文件不应从远程代表中删除
当我从远程代表中提取更改时,不应合并这些文件
是否有可能做到这一点?
PSgit update-index --assume-unchanged没有帮助,因为git pull无论如何都会尝试合并文件