【发布时间】:2018-02-02 06:29:08
【问题描述】:
我刚刚开始着手一个新项目,我们将 VS2015 与 TFS 和 Git 一起用于我们的存储库。现在有好几次,Visual Studio 向我展示了大量已签出的带有待处理更改的文件,而这些文件中的大多数都没有任何更改。
一开始我考虑的是行尾,但后来我注意到 SourceTree 只显示了实际发生变化的文件。运行 git -diff 也不会显示这些未更改的文件,只有 Visual Studio 会。
在我上次提交(在 SourceTree 中完成)之后我注意到的其他一些事情,我提交的文件在 Visual Studio 中仍然显示为有待处理的更改。重新启动 VS 后,文件仍然在挂起的更改列表中。
一位同事遇到了同样的问题,而另外三位从未遇到过这种情况。他们四个人在这个项目上工作的时间都比我长。
我花了几个小时在谷歌上搜索答案,发现很多案例一开始看起来很相似,但没有一个适合我的解决方案。
有没有人知道可能是什么导致了我的这个问题以及我可以做些什么来防止它?
任何帮助将不胜感激。
编辑:添加了一些规格
操作系统:Win Server 2012 R2 Standard (v. 6.3.9600)
VS:VS 企业版 2015 (v. 14.0.23107.0 D14REL)
源树:2.1.11.0
谢谢,
你好
【问题讨论】:
-
几乎可以肯定是行尾。 VS 2015 (RTM) 对这些问题特别敏感。您的行尾是如何配置的?什么版本的VS 2015?您是否安装了最新的更新?
-
我在问题中添加了我的操作系统 en VS 版本。可悲的是,我没有运行 VS 的最新更新,因为我们必须在一个非常安全的环境中工作,一切都受到限制。我自己无法运行更新,并且尚未获得系统管理员安装它的许可。老实说,我不知道我的行尾是如何配置的。我不知道如何/在哪里检查这个。
-
这将在
.gitattributes中配置。我有理由确定您签入的文件的行尾与.gitattributes的承诺(或core.autocrlf的建议)不匹配。当这些不匹配时,Visual Studio 2015 会不高兴。 VS 2015 更新显着改善了这一切。我鼓励您的系统管理员了解软件更新修复了错误和安全漏洞,并且应该像对待它们的关键更新一样对待。 -
@elloco999 .gitattributes 文件位于 git 存储库的根目录中。 VS 和 SourceTree 之间设置不同的“查看选项”也可能是一个原因,请检查,在 VS 中,在 Pending Changes 页面上尝试选择“Included Changes”->“View Options”,SourceTree Show only : Pending, conflict .. .等
-
我现在已经安装了 VS2015 更新 3,并且从那以后没有看到任何不相关的文件在挂起的更改下。所以希望能解决它。谢谢@Edward Thomson 的建议!
标签: git visual-studio-2015 tfs atlassian-sourcetree