拉不可能,因为你有未合并的文件,git stash不起作用。不想承诺

时间:2011-11-08 00:45:14

标签: ruby-on-rails git gem git-pull git-stash

我只是想拉。我有更改无视,我的Gemfile和Gemlock文件,我很乐意只是覆盖它们而只是拉。我试着把我的变化藏起来,这对我来说没有用。我该怎么办?

git pull
M   Gemfile
U   Gemfile.lock
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'.
~/projects/sms/apps2/apps2_admin(apps2)$ git stash save "saved"
Gemfile.lock: needs merge
Gemfile.lock: needs merge
Gemfile.lock: unmerged (4ea16799dba7bfe1db28adecf36dee1af5195c1a)
Gemfile.lock: unmerged (e77439c9f86d1d0eda7ae0787e3e158f90959e68)
Gemfile.lock: unmerged (d690d3860db1aa8e46c1bb2f4de3e52a297b5c26)
fatal: git-write-tree: error building trees
Cannot save the current index state
~/projects/sms/apps2/apps2_admin(apps2)$ git pull
M   Gemfile
U   Gemfile.lock
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'.

4 个答案:

答案 0 :(得分:53)

git fetch origin
git reset --hard origin/master
git pull

说明:

  • Fetch将从另一个存储库下载所有内容,在本例中为标记为“origin”的存储库。
  • 重置将丢弃更改并恢复到存储库“origin”中提到的分支“master”。
  • Pull将从远程存储库中获取所有内容并进行集成。

请参阅http://git-scm.com/docs上的文档。

答案 1 :(得分:38)

您可以使用git checkout <file>签出文件的已提交版本(从而放弃更改),或git reset --hard HEAD删除所有文件的任何未提交的更改。

答案 2 :(得分:2)

我已尝试过这两种情况,但仍因冲突而失败。在我的耐心结束时,我在另一个位置克隆了主人,将所有内容复制到另一个分支并提交了它。让我继续。 &#34; -X他们的&#34;选项应该为我做到这一点,但事实并非如此。

  

git merge -s recursive -X theirs master

     

错误:&#39;合并&#39;不可能   因为你有未合并的文件。提示:将它们修复到工作树中,   提示:然后使用&#39; git add / rm&#39;作为提示:适合标记   解决并提交,   提示:或使用&#39; git commit -a&#39;。致命:   由于未解决的冲突退出。

答案 3 :(得分:1)

我遇到了同样的错误,我用git merge -s recursive -X theirs origin/master

解决了这个错误