为什么Visual Studio 2017允许使用未提交的更改进行GIT拉取?

为什么Visual Studio 2017允许使用未提交的更改进行GIT拉取?,git,tfs,visual-studio-2017,Git,Tfs,Visual Studio 2017,我可能记错了,但在我看来,当我有任何未提交的更改时,VisualStudio从未允许我拉 然而,突然之间,我们能够做到这一点。 这是有问题的,因为它为许多错误留出了空间 我是否意外地修改了某个设置 使用TFS、GIT和VS 2017,来自: 在Git 1.7.0或更高版本中,要取消冲突合并,请使用Git reset --合并。警告:在较旧版本的Git中,不鼓励在未提交更改的情况下运行Git pull:虽然可能,但它会让您陷入困境 在发生冲突的情况下可能很难退出的州 如果任何远程更改与本地未提交的

我可能记错了,但在我看来,当我有任何未提交的更改时,VisualStudio从未允许我拉

然而,突然之间,我们能够做到这一点。 这是有问题的,因为它为许多错误留出了空间

我是否意外地修改了某个设置

使用TFS、GIT和VS 2017,来自:

在Git 1.7.0或更高版本中,要取消冲突合并,请使用Git reset --合并。警告:在较旧版本的Git中,不鼓励在未提交更改的情况下运行Git pull:虽然可能,但它会让您陷入困境 在发生冲突的情况下可能很难退出的州

如果任何远程更改与本地未提交的更改重叠, 合并将自动取消,工作树将保持不变。 通常情况下,最好在工作前对工作顺序进行任何局部更改 把它们用手抽走或藏起来


第二段描述了您观察到的行为。

我认为当前版本的Git允许拉取,前提是这些更改不会与任何新信息发生冲突。最好的做法是,若你们知道你们的工作目录或工作台不干净,就不要拉。问题是,人们会犯错。我会检查一下冲突的想法,但我非常确定一个月前,任何未提交的更改(冲突或不冲突)都会阻止尝试Pull。出于这样的原因,我从来没有在IDE中使用Git插件(如eGit),但我总是使用命令行,至少对于基本的工作流内容(至少在我的机器上)。我让我们的jr.dev做了一个冲突的更改和提交/推送,而我在同一个文件上做了一个更改,但没有提交。当我尝试拉取时,我得到了“未提交的更改”消息如预期。然而,让我深入研究这一点的是,他能够在有未提交更改的情况下拉取一个有冲突的文件。结果是我推送的更改已成为历史,但他的回购文件中的文件反映了他在这一点上的更改。我只是对我的jr如何能够拉取我的提交感到惊讶ile他有冲突的未提交的本地更改。结果是我在他的历史记录中提交了更改,但该文件在上面反映了他的更改。这几乎就像它先提交了更改,然后在上面应用了未提交的更改。@DiscipleMichael您描述的行为实际上是
git pull--rebase
。Google for t正确的短语。然后,检查您的实际设置。