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

我没有得到关于Visual Studio的Git for TFS的信息。

我在TFS上克隆了一个同事的解决方案,并开始添加代码。 然后我意识到,我需要自己的分支来完成我正在做的更改,然后按照说明将新的本地分支推送到远程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仓库时会发生一个异常; Visual Studio确实展示了这种变化。

Visual Studio的阶段和提交同时发生变化。 但是为什么它没有列出我为修改跟踪文件所做的任何修改,从而让我提交它们呢?


这更像是一种解决方法,而不是解释,但我发现如果我忽略文档“当您提交更改时,Visual Studio会同时执行并提交它们”,而是将修改添加到分段中

git add -u .

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

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

我仍然不知道为什么Visual Studio在首次git add之前未能完成修改,但现在至少可以工作。


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

[path to project]/node_modules/

很显然,VS2015在那里的一条很长的道路上轰然倒塌,并决定放弃所有希望


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

git add -u 

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

在我的情况中,我的回购中有一个文档是由另一个应用程序打开的,并且导致Visual Studio因Git权限错误而不显示修改。 因此,请检查您的git存储库的任何文件是否未被任何其他应用程序打开。

链接地址: http://www.djcxy.com/p/4637.html

上一篇: Visual Studio TFS Git not seeing any changes

下一篇: How do you push just a single Git branch (and no other branches)?