zoukankan      html  css  js  c++  java
  • 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就会成功。

  • 相关阅读:
    sqlzoo练习系列(一)——SELECT 基础
    域名重定向
    自动识别PC端、移动端,并跳转
    Laravel传递多个参数到页面
    Laravel提示The GET method is not supported for this route. Supported methods: POST.错误的解决办法
    Laravel8和之前Laravel版本的区别
    Laravel使用Ajax提交表单报419 unknown status错误的解决方法
    PHP 函数调用之引用地址
    软件开发流程以及开发原则
    php 函数基础
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/10148803.html
Copyright © 2011-2022 走看看