我有两个.config文件,我提交给github,现在不再需要跟踪更改,称为PrivateConnectionStrings.config和PrivateSettings.config。我要么误解了VS2013的Git插件是如何工作的还是某些东西不能正常工作。
我的.gitIgnore文件有很多条目,这是我目前特别指出的:
**/PrivateConnectionStrings.config
**/PrivateSettings.config
如果我修改其中一个配置文件,则会显示红色检查,指示解决方案资源管理器中的更改。当我进入团队资源管理器时,这就是我所看到的,您会注意到文件更改显示在包含的更改中,并且上下文菜单没有忽略文件的选项。 - 另外我在VS2013的“FILE”菜单下没有“Source Control”选项。
我也尝试删除.git文件夹中的ms-persist.xml,并尝试表示我不希望通过.git命令行跟踪这些文件的更改。
这是我的插件选择:
我只是不明白Git是如何与VS一起工作的,或者一般情况下是什么?感谢您提供任何指导。
答案 0 :(得分:1)
我有两个我提交给github的.config文件,现在不再需要跟踪更改了
将它们添加到.gitignore
将无效,因为它们已被跟踪。
您应该使用assume-unchanged
标志
https://git-scm.com/docs/git-update-index
指定此标志时,不会更新为路径记录的对象名称 相反,此选项设置/取消设置路径的“假设未更改”位。
当“假定未更改”位打开时,用户承诺不更改文件并允许Git假定工作树文件与索引中记录的文件匹配。如果要更改工作树文件,则需要取消设置该位以告知Git。当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大项目时,这有时很有用。
如果需要在索引中修改此文件,Git将失败(优雅地),例如合并时提交;因此,如果上游更改了假定未跟踪文件,则需要手动处理该情况。