我试图从回购中“git pull”,然后我得到一个错误说,拉不可能,因为你有未合并的文件,但我在网上做了一些搜索,“git pull = git fetch + git合并“,不是吗?
我使用git pull,然后我收到以下消息
U Assembly-CSharp.pidb
U Assembly-UnityScript.pidb
M Assets/testing.unity
U Library/assetDatabase3
U Temp/Undo55e9beda8401848509d9e3bb5d5fe513
U Temp/Undof0c17c0ba33904b16a1698563ff5302c
U Temp/__EditModeScene
U wiisummoner-csharp.sln
U wiisummoner.sln
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
上面是错误消息,然后我尝试了“git merge”,我收到错误“由于你有未合并的文件,因此无法合并”。这是如此令人困惑。任何人都知道问题是什么?我想要的只是从回购中拉出来。
答案 0 :(得分:2)
正如您所说,“git pull”相当于“git fetch + git merge”。
如果你不能进行“git merge”,那么逻辑上就是你不能做“git pull”,因为它会在这个过程中进行“git merge”。
您可能在Temp中拥有自己的文件,或者您的本地* .pidb文件可能已经存在并与上游分支冲突。
将这些文件放入版本控制只是要求麻烦,除非你想版本和协调这些文件的差异(你真的不...),我建议你拒绝上游的变化并告诉他们修复它
顺便提一下,为了记录,这就是git pull的完整输出,我已经制作了一个简单的测试库来演示:
$ git --version
git version 1.7.12.4 (Apple Git-37)
$ git pull
Updating e78f298..3067a12
error: The following untracked working tree files would be overwritten by merge:
three.txt
Please move or remove them before you can merge.
Aborting
在这种情况下,答案很简单:
git stash
)git pull
然后,如果你的'three.txt'版本很重要,另外执行:
git stash
,也许你可以做git stash pop
答案 1 :(得分:0)
您应该隐藏更改并在
之后弹出它们git stash
git pull
git stash pop
之后您可能会遇到冲突,您可以手动修复。
另一种选择,如果创建一个提交是有意义的(即你完成了你正在进行的更改),你可以简单地提交你的更改并在那之后拉。