Visual Studio中Git忽略项目且源码控制状态异常的解决问询
修复Visual Studio Team Services中项目未被仓库收录但显示已绑定源码控制的问题
我之前也碰到过类似的VS源码控制同步异常的问题,给你几个实用的排查和修复步骤,应该能解决这个状况:
1. 先确认Git仓库的实际状态
别光依赖VS的界面显示,直接用Git命令核实真实状态:
- 打开VS内置终端(或Git Bash),导航到解决方案根目录
- 运行命令:
git status,查看Keklist 2 Beta - Win Desktop_CSharp项目的文件是否被标记为未跟踪文件,或是被.gitignore规则意外排除 - 重点检查你提供的该项目目录下的
.gitignore文件,确认是否存在排除整个项目或关键文件的规则(比如有没有一行写着Keklist 2 Beta - Win Desktop_CSharp/,或是针对.csproj的不合理排除)
2. 重置VS的源码控制缓存
VS的本地缓存偶尔会出现显示与实际状态不符的情况,试试这个操作:
- 完全关闭Visual Studio
- 删除解决方案根目录下的
.vs文件夹(这是VS的缓存目录,删除后重新打开VS会自动重建,不会影响项目文件) - 重新加载解决方案,右键该项目查看源码控制菜单是否恢复正常;如果还是显示
Source Control,可以手动解绑再重新绑定:- 点击顶部菜单
File > Source Control > Advanced > Change Source Control - 在弹出窗口中找到该项目,点击
Unbind并确认,再点击Bind重新关联到你的VSTS仓库
- 点击顶部菜单
3. 手动通过Git命令添加项目到仓库
如果上面的步骤都没解决,直接用Git命令强制添加项目:
- 在终端中运行:
git add "Keklist 2 Beta - Win Desktop_CSharp/"(路径包含空格,记得加引号) - 提交变更:
git commit -m "Add missing Keklist 2 Beta Win Desktop project to repo" - 推送到远程VSTS仓库:
git push
完成后回到VS刷新源码控制界面,这个项目应该就能正常被识别为已纳入仓库了
4. 验证远程仓库状态
最后登录你的VSTS仓库网页端,检查该项目的文件夹是否已出现在仓库中;如果本地操作无误,推送后远程会同步显示项目文件
内容的提问来源于stack exchange,提问作者Yoshi Askharoun




