来自干净目录的git pull有合并冲突

bah*_*mat 15 git

git pull在一个干净的工作目录上从我的上游做了一个,它向我展示了合并冲突.我花了大约一个小时手动重置它们,以为我搞砸了一些事情,它再次发生了.

这是git中的错误吗?我对它知之甚少,所以我完全愿意接受我这样做.

这是我的截断输出(它发生在大约9个文件但我想节省空间,文件名已被更改以保护无辜):

$ git status
# On branch master
nothing to commit (working directory clean)
$ git pull
Auto-merged xxxx/xxxx/xxxx.xxx
CONFLICT (content): Merge conflict in xxxx/xxxx/xxxx.xxx
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)

我正在使用Solaris 11 Express和软件包默认git.

$ uname -a
SunOS xxxx 5.11 snv_151a i86pc i386 i86pc Solaris
$ git --version
git version 1.5.6.5
$ pkg list git
NAME (PUBLISHER)                              VERSION         STATE      UFOXI
developer/versioning/git                      1.5.6.5-0.151.0.1 installed  -----
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题:Git pull失败:你有未分级的变化.Git状态:没有提交(工作目录清理),这似乎最接近,但有一个不满意的答案.

如何在不删除整个存储库并创建新克隆的情况下通过此操作?

bdo*_*lan 22

您的工作目录可能很干净,但您有一个或多个本地提交但不在服务器上的提交.当你拉动时,git尝试将这些本地提交与服务器上的提交合并,但由于它们修改了代码的相同区域,因此它们会发生冲突.

你在这里的选择基本归结为:

  1. 修复冲突.你告诉git如何处理冲突的变化,继续前进.
  2. 重新启动并修复冲突git pull --rebase.这与1没什么不同,但是如果您的更改从未发布过(即,它们从未被推过,那么这可能会让您获得更清晰(线性)的历史记录.
  3. 放弃您的本地更改并使用遥控器git reset --hard remotename/remotebranch.这将丢失您在本地提交但未在其他地方推送的任何更改.

  • 有用的答案,帮助我找到了摆脱杂草的道路.就我而言,我在一个分支上运行了一个'git rebase master'.然后我发生了如上所述的合并冲突.解决'git merge --abort'然后你的'git pull --rebase'.谢谢! (4认同)
  • 我在该分支上没有任何本地提交,但是#3做到了,谢谢。 (2认同)