Visual Studio TFS Git 没有看到任何变化
Visual Studio TFS Git not seeing any changes
我没有得到有关 Visual Studio 的 Git 的 TFS 的信息。
我在 TFS Git 中克隆了一位同事的解决方案并开始添加代码。然后我意识到我需要自己的 b运行ch 来进行我所做的更改,因此按照 Push a new local branch to a remote Git repo and track it too I 运行
中的说明进行操作
git checkout -b e4ctim
git push -u origin e4ctim
当我更改我的代码时 visual studio 会在代码文件旁边显示熟悉的红色勾号图标,让我放心更改已触发要检出的文件:
然后当我保存文件时 Visual Studio returns 图标变为蓝色挂锁。我假设从红色勾号到蓝色挂锁的这种变化表示该变化已经在 Git:
本地签入
但是当我查看修改文件的历史记录时,有none!
我想在本地提交我的更改并将它们与 TFS 服务器同步。
Visual Studio 完全看不到任何变化:
从命令行我可以看到 Git 已经注意到我通过 运行 命令所做的所有修改
git status
并看到许多更改未针对提交和未跟踪的文件暂存。
寻找 Git book 我可以使用
git add
或更具体地说
git add -u .
暂存准备提交的文件,但我不愿意这样做,因为 Develop your app in a Git repository (track, commit) Visual Studio 文档指出:
Q: Where is the Git stage?
A: If you are an experienced Git user, you might have noticed that
Visual Studio handles changes differently than the command prompt.
You might have wondered if the Included Changes section contains
your staged changes. In fact, Visual Studio usually bypasses the Git
stage for you. When you commit changes, Visual Studio simultaneously
stages and commits them. The one exception occurs when you add a
file to your Git repository; Visual Studio does stage this kind of
change.
Visual Studio 阶段并同时提交更改。但为什么它不将我对跟踪文件所做的任何修改列为更改,从而让我提交它们?
这与其说是一种解释,不如说是一种解决方法,但我发现如果我忽略 the documentation "when you commit changes, Visual Studio simultaneously stages and commits them" 而是使用命令
添加对暂存的修改
git add -u .
然后Visual Studio突然意识到修改,让我在本地提交它们并与TFS服务器同步。此外,它然后将 'new file' 绿色十字放在我添加的文件上,我发现我可以进行另一次提交,然后进行另一次同步以获取我所做的添加和删除。
从那时起 Visual Studio 正在做我期望的事情:当我对文件进行更改时,文件在提交 window.
中列为已更改
我仍然不知道为什么 Visual Studio 直到初始 git add
之后才接受更改,但至少它现在可以工作了。
我在全新安装了 VS2013 更新 5 和 VS 2015 的新机器上遇到了这个问题,这让我发疯。然后我发现如果我为 Windows 安装 Git,问题就消失了! https://git-for-windows.github.io/
我有同样的问题,我意识到以下几点:
为了显示变更集,正如@dumbledad 所说,Visual Studio 运行命令
git add -u
内部用于暂存更新。
如果您尝试添加到变更集中的某些文件已被另一个进程打开,则 git 命令会出现权限错误。 Visual Studio 不会显示更改。
就我而言,我的存储库中有一个文档被另一个应用程序打开,这导致 Visual Studio 由于 Git 权限错误而无法显示修改。因此,请检查您的 git 存储库中是否有任何文件未被任何其他应用程序打开。
我必须将这一行添加到我的 .gitignore:
[path to project]/node_modules/
显然 VS2015 在那里的某个很长的路径上崩溃了,将决定放弃所有希望
我正在使用 VS 2015 Update 1,也遇到了这个问题。此外,与此同时,VS 的输出 window 告诉我解决方案文件夹下的 VC.opendb
文件被另一个程序占用。根据,我修复了占用问题:在.gitignore
文件中添加*.VC.opendb
和*.VC.db
。然后一切顺利。
然后我尝试进行更改,但文件没有生效...对此有一个简单的解决方案。主要问题是您的 git 忽略文件之一忽略了您的文件..
打开你的本地仓库,例如 D://repos,然后查找你想要的文件
--> D://repos/project1/HomeViewModel.cs
--> 右击它然后点击 Git Extensions
--> 选择+添加文件
--> 然后强制选项
--> 点击 Addfiles.. 在这里,你的文件将被添加到 changes
我在 Visual Studio 更新 3 中遇到了同样的问题。VS 在本地保存但没有获取任何更改,所以我无法提交。
我从 https://git-for-windows.github.io/ 下载了 Windows 的 Git(感谢@fhilton),打开开发人员命令提示符并将目录更改为 C:\Repos\Scheduler(我的源代码)。
然后我 运行 GET ADD -U 并收到以下错误...
error: open("WindowsServices\Scheduler.WindowServices.InstallLog"):
Permission Denied
error: unable to index file
WindowsServices\Scheduler.WindowServices.InstallLog
fatal: updating files failed
正如其他人所说,Visual Studio 中的 GIT 工具似乎可以无提示地失败,即使对于最基本的 Windows 级别的错误也是如此。更糟糕的是,它可以告诉您 GIT 已完全同步。命令行肯定是你暂时的朋友。
删除文件 myProject\.git\index.lock
修复了我的问题。
有用的文章!使用 Git Bash (git add -u) 帮助我更接近问题的原因。在提交以前未在 Visual Studio 中显示的更改后,由于使用了 SQL 服务器数据库项目,仅完成了一半提交;显然,Windows 10 开始在同一文件夹中添加 jfm 文件,使其一直打开并防止 VS 访问它。解决方案是在提交之前将其添加到 .gitignore。
有关更多信息,请参阅此主题:
打开视图 > 输出,select 'Source Control - Git' 在显示输出中检查是否有任何错误。正如其他人提到的,Git 中的任何错误都会使 MS Project 默默地忽略任何更改。
在我的例子中,我的问题是我在我的项目路径中使用 Linux 和符号链接(无法判断 windows 和符号链接是否有同样的问题)
我没有得到有关 Visual Studio 的 Git 的 TFS 的信息。
我在 TFS Git 中克隆了一位同事的解决方案并开始添加代码。然后我意识到我需要自己的 b运行ch 来进行我所做的更改,因此按照 Push a new local branch to a remote Git repo and track it too I 运行
中的说明进行操作git checkout -b e4ctim
git push -u origin e4ctim
当我更改我的代码时 visual studio 会在代码文件旁边显示熟悉的红色勾号图标,让我放心更改已触发要检出的文件:
然后当我保存文件时 Visual Studio returns 图标变为蓝色挂锁。我假设从红色勾号到蓝色挂锁的这种变化表示该变化已经在 Git:
本地签入但是当我查看修改文件的历史记录时,有none!
我想在本地提交我的更改并将它们与 TFS 服务器同步。
Visual Studio 完全看不到任何变化:
从命令行我可以看到 Git 已经注意到我通过 运行 命令所做的所有修改
git status
并看到许多更改未针对提交和未跟踪的文件暂存。
寻找 Git book 我可以使用
git add
或更具体地说
git add -u .
暂存准备提交的文件,但我不愿意这样做,因为 Develop your app in a Git repository (track, commit) Visual Studio 文档指出:
Q: Where is the Git stage?
A: If you are an experienced Git user, you might have noticed that Visual Studio handles changes differently than the command prompt. You might have wondered if the Included Changes section contains your staged changes. In fact, Visual Studio usually bypasses the Git stage for you. When you commit changes, Visual Studio simultaneously stages and commits them. The one exception occurs when you add a file to your Git repository; Visual Studio does stage this kind of change.
Visual Studio 阶段并同时提交更改。但为什么它不将我对跟踪文件所做的任何修改列为更改,从而让我提交它们?
这与其说是一种解释,不如说是一种解决方法,但我发现如果我忽略 the documentation "when you commit changes, Visual Studio simultaneously stages and commits them" 而是使用命令
添加对暂存的修改git add -u .
然后Visual Studio突然意识到修改,让我在本地提交它们并与TFS服务器同步。此外,它然后将 'new file' 绿色十字放在我添加的文件上,我发现我可以进行另一次提交,然后进行另一次同步以获取我所做的添加和删除。
从那时起 Visual Studio 正在做我期望的事情:当我对文件进行更改时,文件在提交 window.
中列为已更改我仍然不知道为什么 Visual Studio 直到初始 git add
之后才接受更改,但至少它现在可以工作了。
我在全新安装了 VS2013 更新 5 和 VS 2015 的新机器上遇到了这个问题,这让我发疯。然后我发现如果我为 Windows 安装 Git,问题就消失了! https://git-for-windows.github.io/
我有同样的问题,我意识到以下几点: 为了显示变更集,正如@dumbledad 所说,Visual Studio 运行命令
git add -u
内部用于暂存更新。 如果您尝试添加到变更集中的某些文件已被另一个进程打开,则 git 命令会出现权限错误。 Visual Studio 不会显示更改。
就我而言,我的存储库中有一个文档被另一个应用程序打开,这导致 Visual Studio 由于 Git 权限错误而无法显示修改。因此,请检查您的 git 存储库中是否有任何文件未被任何其他应用程序打开。
我必须将这一行添加到我的 .gitignore:
[path to project]/node_modules/
显然 VS2015 在那里的某个很长的路径上崩溃了,将决定放弃所有希望
我正在使用 VS 2015 Update 1,也遇到了这个问题。此外,与此同时,VS 的输出 window 告诉我解决方案文件夹下的 VC.opendb
文件被另一个程序占用。根据.gitignore
文件中添加*.VC.opendb
和*.VC.db
。然后一切顺利。
然后我尝试进行更改,但文件没有生效...对此有一个简单的解决方案。主要问题是您的 git 忽略文件之一忽略了您的文件..
打开你的本地仓库,例如 D://repos,然后查找你想要的文件
--> D://repos/project1/HomeViewModel.cs
--> 右击它然后点击 Git Extensions
--> 选择+添加文件
--> 然后强制选项
--> 点击 Addfiles.. 在这里,你的文件将被添加到 changes
我在 Visual Studio 更新 3 中遇到了同样的问题。VS 在本地保存但没有获取任何更改,所以我无法提交。
我从 https://git-for-windows.github.io/ 下载了 Windows 的 Git(感谢@fhilton),打开开发人员命令提示符并将目录更改为 C:\Repos\Scheduler(我的源代码)。
然后我 运行 GET ADD -U 并收到以下错误...
error: open("WindowsServices\Scheduler.WindowServices.InstallLog"): Permission Denied
error: unable to index file WindowsServices\Scheduler.WindowServices.InstallLog
fatal: updating files failed
正如其他人所说,Visual Studio 中的 GIT 工具似乎可以无提示地失败,即使对于最基本的 Windows 级别的错误也是如此。更糟糕的是,它可以告诉您 GIT 已完全同步。命令行肯定是你暂时的朋友。
删除文件 myProject\.git\index.lock
修复了我的问题。
有用的文章!使用 Git Bash (git add -u) 帮助我更接近问题的原因。在提交以前未在 Visual Studio 中显示的更改后,由于使用了 SQL 服务器数据库项目,仅完成了一半提交;显然,Windows 10 开始在同一文件夹中添加 jfm 文件,使其一直打开并防止 VS 访问它。解决方案是在提交之前将其添加到 .gitignore。
有关更多信息,请参阅此主题:
打开视图 > 输出,select 'Source Control - Git' 在显示输出中检查是否有任何错误。正如其他人提到的,Git 中的任何错误都会使 MS Project 默默地忽略任何更改。
在我的例子中,我的问题是我在我的项目路径中使用 Linux 和符号链接(无法判断 windows 和符号链接是否有同样的问题)