VisualStudio:libgit2 引发错误。类别 = 结帐

Posted

技术标签:

【中文标题】VisualStudio:libgit2 引发错误。类别 = 结帐【英文标题】:VisualStudio: An error was raised by libgit2. Category = Checkout 【发布时间】:2013-09-17 22:10:57 【问题描述】:

我将 TFS 与 Git 一起使用,安装了 Visual Studio Tools for Git。

我正在尝试从 TFS 中提取所有提交(总共 5 个),但出现以下错误:

An error occurred. Detailed message: An error was raised by libgit2. 
Category = Checkout (MergeConflict).
2 conflicts prevent checkout

我该如何解决这个问题?

【问题讨论】:

你知道了吗?我有同样的问题。 删除 \.git\index.lock 为我解决了这个问题 - Atlassian SourceTree 给了我一个更有意义的错误!致命:无法创建'[...snip...]/.git/index.lock':文件存在。如果当前没有其他 git 进程在运行,这可能意味着之前该存储库中的 git 进程崩溃了。确保没有其他 git 进程正在运行并手动删除文件以继续 【参考方案1】:

1.尝试通过进入您的项目目录从 cmd 或 git-bash 拉取项目。如果此解决方案不适合您。

您可能会超出使用帐户总用户数的限制。 所以试试第二个。我得到了第二个解决方案。

2.这个问题需要增加你在bitbucket中的用户限制,否则,从你的列表中删除某人的权限并添加另一个。

【讨论】:

【参考方案2】:

首先,您需要在本地分支中提交本地挂起的更改。然后从主分支中拉取。解决冲突并将本地更改推送到 master 分支

【讨论】:

【参考方案3】:

不同分支中的传入和传出提交。您必须在同步之前对它们进行标记。我是在 Source Tree 中做的,在那里你可以清楚地看到分支。

【讨论】:

【参考方案4】:

当您传入的 fetch 与您未提交的文件发生冲突时,就会发生这种情况。首先尝试提交您所做的更改或撤消它们。并尝试再次推动。如果它不起作用,冲突文件应该在未跟踪的文件中。尝试找到它并删除它。这应该工作。

【讨论】:

【参考方案5】:

要查看错误,您应该运行 git 命令行 您可以在Team Emplorer -> Unsynched commits -> Actions -> Open in Command Prompt

找到它

那你应该使用 git pull 命令

如果您使用visualstudio.com,请注意凭据, 在这种情况下,您必须有另一个登录名和密码才能从命令提示符连接到 git。

【讨论】:

'git' 不是内部或外部命令、可运行程序或批处理文件。【参考方案6】:

我能够通过从 VS 2013 中的团队资源管理器中拉取来解决此问题,而无需打开任何解决方案。只做一次。

这很有效,从那以后我也没有看到任何其他解决方案的 libgit 错误。

这也针对 VS 2012 进行了测试。

【讨论】:

【参考方案7】:

Visual Studio Tool for Git 不支持使用 SSH 协议的远程存储库,仅支持 HTTP 和 HTTPS,但现在它也支持 SSH。

查看有关如何解决此问题的网址- https://github.com/libgit2/libgit2sharp/issues/255

【讨论】:

【参考方案8】:

要解决此问题,请按照以下步骤操作:-

1)关闭视觉工作室。 2)现在打开视觉工作室而不打开任何解决方案.. 3)打开团队查看器,然后转到 git home->changes.. 4)然后点击提交.. 5)现在你会得到未解决的冲突.. 6)解决冲突并提交..

问题已解决:)。 干杯

【讨论】:

【参考方案9】:

从@Blowsie 那里得到提示,在我的例子中,关闭了提琴手捕获或类似的数据包捕获工具。

【讨论】:

【参考方案10】:

这个错误经常发生在:

您的网络上有代理:

查看有关配置 git 代理设置的一些解决方案here。

或者...您尝试连接的 git url 超过 256 个字符

【讨论】:

在我的例子中,有一个超过 256 个字符的目录。谢谢约曼。【参考方案11】:

遗憾的是,适用于 Git 的 Visual Studio 插件不显示解决此问题所需的错误消息。 (我希望他们计划在以后发布该功能。)

尝试使用 Git Bash 或 TortoiseGit 拉取最新的提交。这些工具中的任何一个都应该让您知道您的冲突在哪里。

【讨论】:

以上是关于VisualStudio:libgit2 引发错误。类别 = 结帐的主要内容,如果未能解决你的问题,请参考以下文章

使用 LibGit2Sharp 克隆 Git 存储库时出现超时错误

libgit2-6311e88: cannot open shared object file: No such file or directory

在 Clion 中链接 libgit2 不起作用

如何使用 libgit2sharp 正确取消暂存文件

在 Visual Studio 2010 和 Visual Studio 2012 中,带有 col、colgroup、tbody 和 thead 的 HTML 表格标记引发编译错误

与 Libgit2 相比,Windows 上的 Git 存储速度极慢