在Visual Studio中使用Git“冲突阻止检出”错误

时间:2013-12-30 15:46:45

标签: git visual-studio visual-studio-2013 conflict

我在Visual Studio中使用Git。当我尝试同步时,会出现以下消息:

  

发生错误。详细消息:libgit2引发了一个错误。 Cetegory =结账(MergeConflict)。 1个冲突阻止结账

我不知道冲突是什么以及如何解决它们。任何人都可以帮我解决这个问题吗?

8 个答案:

答案 0 :(得分:52)

我通过在Visual Studio中使用Git命令提示符解决了同样的问题,因为它为您提供了更多功能:

http://msdn.microsoft.com/en-us/library/vstudio/dd286572.aspx

您也可以安装此扩展程序以方便使用它(它使您无法每次都输入密码):

http://gitcredentialstore.codeplex.com/

然后我使用了这个命令:

git pull // I got an error on this step
git stash
git pull

有关命令的更多信息:

http://git-scm.com/docs/git-pull

http://git-scm.com/book/en/Git-Tools-Stashing

http://git-scm.com/docs/git-commit

正如 CharlesB 所说,这是由于“您的更改与其他分支的更改之间存在冲突”。

答案 1 :(得分:34)

您有一些未提交的更改。提交或撤消更改,然后Git“pull”将起作用。

答案 2 :(得分:3)

我在"拉"期间遇到了这个问题。通过Visual Studio请求。

隐藏文件发生了变化:.ntvs_analysis.dat

要发现此隐藏文件并解决问题,我:

  1. 显示隐藏文件只是为了查看我看不到的文件是否有变化。
  2. 在项目目录中,使用Git GUI撤消对我找到的隐藏文件的更改。
  3. 之后,我的"拉"请求成功。


    控制面板=>文件夹选项=> View =>显示隐藏的文件和文件夹

答案 3 :(得分:1)

我遇到了这个问题,我解决这个问题的方式是"蛮力" ...我没有提交更改,也没有提交同步,但在尝试引入某些内容时仍然遇到此错误另一位开发人员推动的变化

我最终只是在文件系统中敲击我的本地仓库并重新克隆远程分支。瞧!

也许不是最优雅的解决方案,但如果您没有任何您担心丢失的本地更改,它就会起作用。

答案 4 :(得分:0)

如果您在本地进行了一些更改,那么您只需提交更改并且不要同步此提交

更改=>输入提交消息=>提交并且不要同步此提交,然后您可以正确提取

如果你的分支没有变化,那么继续使用Actions =>公开评论提示=>然后输入这一行

  1. git pull

  2. git stash

  3. 3.git pull

答案 5 :(得分:0)

我们的环境要求我们不要依赖Nuget自动包恢复,而我遇到的问题是由于:

  • 有些成员只使用GIT命令控制台来提交/拉/推。
  • 我依靠VS2013 Git工具进行提交/拉/推。
  • Git命令控制台推送包文件夹中的所有内容
  • Visual Studio工具忽略包文件夹

所以冲突是由于package文件夹中的文件试图通过VS pull添加,但已经存在于HDD上。 现在我刚刚删除了相关的包文件夹/文件并重新启动了拉,这是有效的。

希望这有帮助。

答案 6 :(得分:0)

这听起来好像是没有将Visual Studio中的可执行文件和其他自动生成的输出添加到.gitignore文件中。您不希望成为控制这些文件的来源。有关此here.

的更多信息

答案 7 :(得分:0)

就我而言,我当前所在的分支上的更改与我尝试更改到的分支上的更改之间存在冲突。

我不想保留当前分支上的更改,但由于 VS2019 中的异常,无法切换分支

为了解决它,我像这样使用了 git 命令行:

 cd path\to\my\repo
 git branch
 git switch MyBranchName --force

使用 git branch 列出当前 repo 上的分支。如果您已经知道分支名称,则可以跳过该步骤。

请注意,这会强制更改到新分支。确保您知道自己在做什么。