Visual Studio 2015 更新2团队资源管理器缺少“排除”选项

38
我一直在使用Visual Studio 2015中Team Explorer部分的Git集成功能。我的解决方案中有许多需要修改才能在本地运行的配置文件,但我不想提交这些更改。
在VS2015 Update 1中,Git集成的"Changes"部分有一个"exclude"选项,我可以选择修改后的配置文件并将它们排除在更改集之外。这些文件将不会出现在以后的修改文件列表中,因此它们会在未来的提交中保持排除状态。
昨天我安装了Update 2,现在exclude选项已经消失了。我甚至找不到一个"ignore"选项,所以现在每次都必须手动选择修改的文件并进行暂存,这是额外的步骤,也有可能导致我意外提交本地配置更改。我知道为即将提交的文件设置一个暂存区是很普遍的做法,但VS的默认设置是提交所有内容。如果我想排除配置文件,那么我需要先暂存其他文件,然后再提交。
是否有办法恢复先前具有exclude选项的功能,或者在VS Git集成中忽略配置文件。我真的不想将配置文件添加到Git忽略列表中,因为有时我确实会合法地更改这些文件并希望提交它们。
1个回答

45

Visual Studio 现在使用 Git 的术语,而不是 TFS 源代码控制 Include/Exclude。在 Git 中,默认情况下,您的更改未加入阶段。从现在开始,在 VS 中也是如此,您可以右键单击要收集到下一个提交的文件,并选择“阶段”。一旦您阶段了一些文件,您可以单独提交这些已经阶段的文件,通过Commit Staged按钮(在阶段至少一个文件后,标题从Commit All更改)。

但是,当您希望一次提交所有更改的文件——所有这些文件最初都没有被阶段——您可以使用Commit All按钮进行阶段和提交。

起初我感到惊讶。但是知道 Git 术语后,这完全有意义。Include/Exclude 来自原始 TFS 源代码控制机制,它具有类似的目的,但对于那些了解 Git 但是新于 VS 的人来说可能会令人困惑。


3
我之前没有意识到“排除(exclude)”功能是TFS(Team Foundation Server)的残留物。我猜更新后将期望的Git行为带入VS确实有道理。阅读发布说明可以发现状态栏上的历史记录和快速链接有一些很好的改进。所以简而言之,你不能恢复“排除”选项,但新功能更好;-) - Chris B
9
哇,我认为这真的是一个倒退。我将无法再说服其他开发者转换到 Git。现在的工作流程太糟糕了。 - JYL
3
我希望有一种方法可以禁用“提交全部”功能,强制用户只提交暂存的文件。我已经不小心提交了很多次文件... - johnildergleidisson
1
@Null .gitignore 是你的好朋友,现在就把 environment_config.json 添加到其中吧。我会得到多少个Stroopwafels呢? - Csaba Toth
@Csaba 很不幸,environment_config.json 文件已经被提交并由 git 跟踪,将其添加到 .gitignore 中将无济于事。Visual Studio 将继续尝试提交该文件。因此,您必须为意外检入文件请我们吃 stroopwafels :) - Null
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接