已回答 Team Explorer失去与git存储库的连接

已加入
2020年5月9日
留言内容
9
编程经验
10+
重新打开项目后,我的VS 2019中的Team Explorer偶尔会失去与git存储库的连接。

这意味着该项目在“团队资源管理器”下列出,但是“更改”,“分支”等没有选项。

右键单击该项目,可以看到菜单选项"OpenP, "在档案总管中开启", and "Open Command Prompt". The "Remove"选项显示为灰色。

git存储库和C#.NET项目位于同一文件夹-例如git工作树是C#.NET项目目录。

解决此问题的唯一方法似乎是关闭项目并重新克隆它。但是后来我从项目中丢失了所有书签。

我现在的解决方法是放弃Team Explorer,回到使用Egit和另一个IDE来维护我的git存储库。

有没有一种方法可以从中恢复而无需重新克隆项目?
 
已加入
2020年5月9日
留言内容
9
编程经验
10+
git存储库本身可以很好地完成所有这些工作。 Team Explorer无法读取其提交,也无法显示任何更改或历史记录。

我正在寻找一种方法来更新与同一存储库的连接,而不必重新克隆存储库以使Team Explorer能够看到它。

Team Explorer是一个出色且易于使用的git用户界面,是我使用过的最好的用户界面之一。
 
Last edited:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,528
地点
弗吉尼亚州切萨皮克
编程经验
10+
您是独自工作还是与团队一起工作?如果您与团队一起工作,是否有人意外地检查了.vs目录或VS用于维护每个用户状态的任何隐藏文件? (例如,某人不是以默认的VS生成的.gitignore文件开始的,或者是.gitignore文件中的规则之一过于混杂)
 
已加入
2020年5月9日
留言内容
9
编程经验
10+
我一个人工作。我使用git来维护该项目的不同版本,并保持并行的开发分支。

例如,使用Egit推送提交会引起冲突吗?

无论如何有办法"reconnect"Team Explorer到* existing *存储库,而不是必须克隆它并将其作为新项目打开?
 
已加入
2020年5月9日
留言内容
9
编程经验
10+
我确实在.gitignore文件中找到以下内容:

.vs / MyApplication / v15 / Server / sqlite3 / db.lock
.vs / MyApplication / v15 / Server / sqlite3 / storage.ide
.vs / MyApplication / v15 / Server / sqlite3 / storage.ide-shm
.vs / MyApplication / v15 / Server / sqlite3 / storage.ide-wal
.vs / MyApplication / v15 / sqlite3 / db.lock
.vs / MyApplication / v15 / sqlite3 / storage.ide-shm
.vs / MyApplication / v15 / sqlite3 / storage.ide-wal
.vs
/.vs

那只是文件的一部分,与.vs相关的部分。
 
Last edited:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,528
地点
弗吉尼亚州切萨皮克
编程经验
10+
您实际上应该忽略:
C#:
.vs/
例如.vs目录及其所有子级。您无需显式列出.vs目录树下的每个文件。

至于"reconnecting"在团队资源管理器中,您首先需要准确诊断导致它断开连接的原因。我的直觉是,通过与您的git存储库同步,VS本地每用户设置文件之一将被覆盖,因此,我较早的建议是确保不检查与本地状态相关的目录中的任何内容。这也应在您的.gitignore中:
C#:
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
 
已加入
2020年5月9日
留言内容
9
编程经验
10+
我确实找到了一种方法"reconnect"带有git存储库的Team Explorer。

将麻烦的存储库克隆到一个新的存储库,正如我上面提到的那样,该存储库现在将缺少原始项目的书签。

但是,然后丢弃克隆存储库(我将其移至另一个文件夹),并继续使用克隆的(原始)存储库。

Team Explorer现在可以正确显示原始存储库,以及正确的Branches,Changes和其他菜单项。

而且由于我们使用的是原始项目,所以我们仍然有我们的书签。

克隆存储库的行为似乎可以清除项目文件中的某些问题,并将Team Explorer重置为正常操作。

这不是适当的解决方案,而是更多解决方法,但至少现在我可以继续使用Team Explorer。

我将继续按照上面的建议使用正确的.gitignore设置。
 
最佳 底部