当尝试将分支与TFS和GIT合并时,访问被拒绝写入VS项目.suo

 温暖我心好吗_646 发布于 2022-12-11 10:44

我正在尝试将分支与主服务器合并.分支结构:

master
    v0.43

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

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

"输出"窗格中没有其他信息.

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

请注意,"X"在实际项目名称中隐藏了字母字符.这些空间有效吗?ü有效吗?如果文件夹和文件名有效,并且特殊字符有效,为什么拒绝访问?或者合并是否需要访问此文件?

我知道它是一个Visual Studio用户设置文件.我很确定它不包含在GIT存储库中 - 尽管我只检查过:

git ls-files*.suo

没有文件返回.

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

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

编辑 - 附加信息

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

我想我已经从上述问题中恢复过来了.首先,我实现了一个默认的.gitignore,专门忽略/ bin和/ obj.然后我删除了这两个文件夹中的所有内容(通过VS Solution Explorer).他们没有回来作为包含,排除或未跟踪.这解决了一个问题.

下一期是我看到v0.43分支中包含项目的.suo.我看到它应该在默认的.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合并到master或甚至切换到master分支时,Access都被拒绝到.suo.

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

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

我希望这一切都有道理.:S

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有