git报错:Pull is not possible because you have unmerged files解决方法

在git pull的过程中,如果有冲突,那么除了冲突的文件之外,其它的文件都会做为staged区的文件保存起来。

重现:

$ git pull

A Applications/Commerce/BookingAnalysis.java
A Applications/Commerce/ClickSummaryFormatter.java
M Applications/CommerceForecasting/forecast/Forecast.java
A Applications/CommerceForecasting/forecast/ForecastCurveProviderCategory.java
M Applications/CommerceForecasting/forecast/ForecastProvider.java
M Applications/CommerceForecasting/forecast/InputPropertyItem.java
......

A Applications/LocalezeImporter/com/tripadvisor/feeds/SingleMenuLocalezeMatcher.java
A Applications/LocalezeImporter/com/tripadvisor/feeds/TypeCategory.java

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 status你会发现下面古怪的事情:

zhonghua@pts/ttys000 $ git status

On branch sns

Your branch and 'snsconnect/sns' have diverged,

and have 1 and 52 different commit(s) each, respectively.

Changes to be committed:

new file: src/config/features_daodao.ini

new file: src/config/services.xml

new file: src/config/svnroot/hooks/mailer.conf

new file: src/config/svnroot/hooks/mailer.py

new file: src/config/svnroot/hooks/post-commit

new file: src/config/svnroot/hooks/pre-commit

new file: src/config/svnroot/hooks/prerelease_notifications.py

new file: src/config/svnroot/hooks/run_checks.py

…….

Untracked files:

(use "git add <file>..." to include in what will be committed)

_build/

css/combined/

css/gen/

daodao-site.patch

daodao-site.patch1

js/combined/

js/gen/

lib/weibo/

src/bin/

Pull is not possible because you have unmerged files.

本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通过MERGE-HEAD或者HEAD来实现类型与svn revet的效果。

解决:

1.将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要--hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。

git reset --hard FETCH_HEAD
2.git pull就会成功。

发表新评论