Git 尝试将分支与TFS&;合并时拒绝访问VS project.suo;吉特

Git 尝试将分支与TFS&;合并时拒绝访问VS project.suo;吉特,git,visual-studio,tfs,Git,Visual Studio,Tfs,我正试图将一个分支与主分支合并。分支机构: master v0.43 我的重要更改在v0.43中。在v0.43中进行提交后,我尝试将v0.43合并到master。我收到以下错误: 发生了一个错误。详细消息:libgit2引发了一个错误。 类别=无效(错误)。打不开 'C:/Users/Me/Source/Repos/MyüProject XXX/MyüProject XXX/XXX XXX 用于写入的X.v12.suo:访问被拒绝 输出窗格中没有其他信息 在尝试从v0.43分支更改为主

我正试图将一个分支与主分支合并。分支机构:

master
    v0.43
我的重要更改在v0.43中。在v0.43中进行提交后,我尝试将v0.43合并到master。我收到以下错误:

发生了一个错误。详细消息:libgit2引发了一个错误。 类别=无效(错误)。打不开 'C:/Users/Me/Source/Repos/MyüProject XXX/MyüProject XXX/XXX XXX 用于写入的X.v12.suo:访问被拒绝

输出窗格中没有其他信息

在尝试从v0.43分支更改为主分支时,我也会收到上述错误消息。基本上,我被困在v0.43分支中

请注意,实际项目名称中的“X”隐藏了字母字符。空格是否有效?你是合法的吗?如果文件夹和文件名有效,并且特殊字符有效,为什么拒绝访问?或者合并是否需要访问此文件

我知道这是一个VisualStudio用户设置文件。我相当肯定它没有包含在GIT存储库中-尽管我只检查了以下内容:

git ls文件*.suo

不返回任何文件

此问题是否与TFS/GIT与Visual Studio或Windows中的设置之间的凭据冲突有关?顺便说一句,我在Win 8.1上运行VS 2013.2

我无法确定GIT分支合并是否真的需要访问VS用户设置文件(.suo),或者甚至不需要访问该文件。如果它确实需要访问,我可以尝试如何实现这一点?如果根本不需要这种访问,为什么还要继续尝试

编辑-其他信息

我是TFS/GIT的新手。要吸收的东西很多。当我最初设置存储库(visualstudio.com上的本地和TFS)时,默认的.gitignore由于某种原因没有被创建,显然是在我的本地存储库中?我不知道,但当我对我的项目进行更改,然后进行提交时,我看到“排除”和“未跟踪”中显示了一些内容。对于GIT/TFS来说是绿色的,我右键单击并包含这些被排除/未跟踪的文件。我现在知道这是错误的

我想我已经从上述问题中恢复过来了。首先,我实现了一个default.gitignore,它专门忽略/bin和/obj。然后我删除了这两个文件夹中的所有内容(通过VS解决方案资源管理器)。他们没有回来,因为包括,排除或未跟踪。这解决了一个问题

下一个问题是,我看到项目的.suo包含在v0.43分支中。我看到它应该在default.gitignore(*.suo)中被忽略,因此我需要将其从v0.43分支中删除,但这并不像删除未使用的文件那么简单。我使用以下命令行执行此操作:

我可以通过以下方式看到.suo的存在:

git ls-files *.suo
我将其删除为:

git rm --cached "*.suo"
git commit -m "Delete *.suo file from repository"
。。。我能够通过执行相同的ls files命令确认它已被删除。它不再显示在v0.43分支中。我已提交并与TFS同步。现在我得到了上面提到的错误-每当我尝试将v0.43合并到主分支,甚至切换到主分支时,对.suo的访问被拒绝

可能是我试图切换到的主分支尝试访问.suo文件

如果是这样的话,我完全不知道如何解决这个问题。我想有可能.锁在某个时候被交给了主分支。。。但我不知道如何安全地访问主分支并从中移除.suo,就像我对v0.43分支所做的那样


我希望这一切都有意义我今天收到了一个非常类似的问题。我无法切换分支,因为出现以下错误:

发生了一个错误。详细消息:无法打开“D:/Projects/ProjectName/Database/Database.db”进行写入:访问被拒绝

注意:出于显示目的重命名了路径名和文件名

我做的很简单

  • 从文件资源管理器中删除文件(不在项目中)
  • Git现在将检测到此文件的删除
  • 更改
    视图中撤消此删除操作

我不确定是什么导致了这个问题,我希望任何人都能发现这个答案有帮助。

我现在正在研究这个问题,相信这就是问题的答案-
*.sou文件是Visual Studio用户首选项的一部分。它位于解决方案旁边的“.vs”文件夹中,该文件夹是一个“隐藏文件夹”。

如果您使用TeamServices作为Git存储库,那么只需删除“.vs”文件夹,它将被标记为“Deleted/{folder}/.vs”

要删除团队服务中的文件夹:在团队服务中找到项目,将鼠标悬停在“代码”下拉菜单上,然后选择“文件”。导航到.sln文件夹,您将找到“.vs”文件夹。通过“右键单击”并选择“删除”来删除该“.vs”文件夹


不应再跟踪该文件夹

我有时也会遇到这种情况,但有一个简单的解决办法

只需从项目文件夹中删除.suo文件

  • 转到解决方案资源管理器,右键单击解决方案并选择最后一个名为“在文件资源管理器中打开文件夹”的选项

  • 之后是goto.vs文件夹(这是一个隐藏文件夹)

  • 在那个打开的文件夹之后,有一个项目的名称

  • 然后删除该文件夹中的.sou文件

  • 完成了

  • 打开VisualStudio,您会看到问题已经解决

谢谢你,

Nishit Zinzuvadiya.

“2013.2”是指Visual Studio 2013及其更新2?有什么原因你没有更新到更新3或4吗?我在这个项目中处于一个关键点,无法承受(或解释)任何停机时间。3或4中是否有一些内容可以解决我遇到的问题?据我所知不是这样,但如果您联系Microsoft询问此问题,则此w