由于存在未合并的文件,无法进行拉取操作,使用git stash也无效。不想提交更改。

44

我只想拉取代码。我有一些不需要的更改,我的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'.

强制Git在拉取时覆盖本地文件 - rwilliams
1
为什么Git说无法拉取,因为您有未合并的文件?要获取完整答案,请访问此处:https://dev59.com/Z18d5IYBdhLWcg3w1VI1 - Harsukh Makwana
1
可能是一个重复问题,参考为什么Git说“无法进行拉取,因为您有未合并的文件”? - Anshul Goyal
4个回答

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

解释:

  • Fetch会从另一个仓库下载所有内容,在这种情况下,下载的是标记为“origin”的仓库。
  • Reset会放弃更改并还原到指定的分支,“master”在“origin”仓库中。
  • Pull只会从远程仓库获取所有内容并进行集成。

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


这个到底是做什么的? - Chemist
2
Fetch会从另一个仓库下载所有内容,这里指标记为“origin”的仓库。Reset将放弃更改并恢复到所提到的分支,“master”在仓库“origin”中。Pull只会从远程仓库获取所有内容并进行集成。请参阅http://git-scm.com/docs/上的文档。 - Ricardo Peres

44

你可以使用git checkout <file>命令来检出提交的文件版本(从而放弃你的更改),或者使用git reset --hard HEAD命令来放弃所有文件的未提交更改。


2
我尝试过这两种方法,但由于冲突而失败。在我忍耐到极限的时候,我在另一个位置克隆了主分支,将所有内容复制到另一个分支并提交。这让我得以继续。
"-X theirs"选项本应该为我完成此操作,但它并没有。

git merge -s recursive -X theirs master

错误:由于存在未合并的文件,“merge”不可能进行。提示:在工作树中修复它们,然后使用“git add/rm”适当地标记解决方案并进行提交,或使用“git commit -a”。致命错误:因为存在未解决的冲突而退出。


1

我曾经遇到过同样的错误,我用以下命令解决了它:git merge -s recursive -X theirs origin/master


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接