Visual Studio TFS Git没有看到任何改变

我没有得到关于TFS的Visual Studio的Git的东西。

我在GFS上克隆了一个同事的解决scheme,并开始添加代码。 然后,我意识到,我需要我自己的分支,我正在做的变化,所以按照指示推新的本地分支到一个远程的Git仓库,并跟踪它我也跑

git checkout -b e4ctim git push -u origin e4ctim 

当我对代码进行更改时,Visual Studio通过代码文件显示熟悉的红色勾号图标,以确保更改已触发要检出的文件:

VS红色勾号

然后,当我保存文件时,Visual Studio将图标返回到蓝色挂锁。 我认为从红色挂钩到蓝色挂锁的这一改变意味着这个改变已经在Git本地签入了:

VS蓝锁

但是,当我看到修改后的文件的历史,没有!

没有历史

我想在本地提交我的更改并将其与TFS服务器同步。

Visual Studio根本没有看到任何改变:

VS TFS变化

从命令行我可以看到,Git通过运行命令已经注意到了我的所有修改

 git status 

并看到很多没有提交和未跟踪文件的变化。

git status cmd

在我可以使用的Git书上闲逛

 git add 

或更具体地说

 git add -u . 

来准备提交文件,但我不愿意这样做在Git仓库(跟踪,提交)中开发你的应用程序 Visual Studio文档指出:

问:Git阶段在哪里?
答:如果您是一位经验丰富的Git用户,您可能已经注意到Visual Studio处理更改的方式与命令提示符不同。 您可能想知道“包含的更改”部分是否包含您的分阶段更改。 事实上,Visual Studio通常会绕过Git阶段。 当您提交更改时,Visual Studio将同时执行并提交它们。 当你添加一个文件到你的Git仓库时会发生一个exception; Visual Studio确实进行了这种改变。

Visual Studio阶段和提交更改同时进行。 但是为什么它没有列出我所做的任何修改来修改跟踪文件,从而让我犯下这些修改呢?

这是比解释更多的解决方法,但是我发现如果我忽略文档 “当您提交更改时,Visual Studio将同时执行并提交它们”,而是使用命令将修改添加到分段

 git add -u . 

那么Visual Studio突然意识到这些修改,并让我在本地提交它们,并将它们与TFS服务器同步。 此外,它将“新文件”绿十字放在我添加的文件上,我发现我可以做另一个提交,然后再进行另一个同步来提取我所做的添加和删除操作。

从那时起,Visual Studio正在做我期望的事情:当我对文件进行更改时,文件在提交窗口中被更改。

我仍然不知道为什么Visual Studio没有拿起变化,直到最初的git add但至less现在工作。

我不得不把这一行添加到我的.gitignore:

 [path to project]/node_modules/ 

很显然VS2015在那里很长的路上崩溃,只会决定放弃所有的希望

我有同样的探针,我意识到以下几点:为了显示变更集,As @dumbledad说,Visual Studio运行命令

 git add -u 

在内部用于分级更新。 如果您试图添加到您的变更集中的某些文件被另一个进程打开,那么git命令将获得权限错误。 而Visual Studio将不会显示更改。

就我而言,我的回购库中有一个文档是由另一个应用程序打开的,而且由于Git权限错误,导致Visual Studio不显示修改。 因此,检查你的git仓库的任何文件是否没有被任何其他应用程序打开。

我正在使用VS 2015 Update 1,也遇到了这个问题。 而且,同时,VS的输出窗口告诉了我在解决scheme文件夹下的VC.opendb文件被另一个程序占用。 据此,我解决了占用问题:将*.VC.opendb*.VC.db添加到.gitignore文件。 然后一切顺利。

删除文件myProject\.git\index.lock修复它在我的情况。

我有与Visual Studio更新3相同的问题。VS是本地保存,但没有拿起任何更改,所以我不能提交。

我从https://git-for-windows.github.io/ (谢谢@fhilton)下载了Git for Windows,打开了开发者命令提示符并将目录改为C:\ Repos \ Scheduler(我的源代码的位置)。

然后我运行GET ADD -U并收到以下错误…

错误:打开(“WindowsServices \ Scheduler.WindowServices.InstallLog”):权限被拒绝

错误:无法索引文件WindowsServices \ Scheduler.WindowServices.InstallLog

致命:更新文件失败

正如其他人所说,看起来像Visual Studio中的GIT工具可以静默失败,即使是最基本的Windows级别的错误。 更糟的是,它可以告诉你GIT完全同步。 命令行当然是你的朋友。

我有一个新的VS2013更新5和VS 2015的全新安装的机器上的这个问题,这让我疯狂。 然后我发现如果我安装Git for Windows,问题就消失了! https://git-for-windows.github.io/

然后,我试图做出更改,但文件不受影响…有一个简单的解决scheme。 主要的问题是你的git忽略文件忽略你的文件之一..

例如D:// repos打开本地回购,然后看看你想要的文件

– > D://repos/project1/HomeViewModel.cs

– >右键单击它,然后单击Git Extentions

– >select+添加文件

在这里输入图像说明

– >然后强制选项

在这里输入图像说明

– >点击AddFiles..Here你去你的文件将被添加在变化