title: How to do git merge/pull correctly: You have not concluded your merge (MERGE_HEAD exists)
body: <p>I am a newbie to Git and having trouble understanding how to use Git. I have been using CVS so going through some learning curve for Git. Here is what all I tried </p>
  
  <p>Now I had changed only two files PromoServiceImpl.java and build.sql. However having trouble merging changed from "product" branch. </p>
  
  <p>Remaining files that you see (like ApiServiceImpl.java etc) are changes from other users but I am not sure if the representation here suggests that I have changed them. Prob it got merged during earlier pull commands and now it expects me to commit them ??</p>
  
  <p>No matter whatever is the flow of commands I follow (even after some Google search) I see the following error:</p>
  
  <blockquote>
    <p>You have not concluded your merge (MERGE_HEAD exists)
    Please, commit your changes before you can merge.</p>
  </blockquote>
  
  <p>Here is the sequence of commands I followed and output (tried to make it pretty by inserting new lines for everyone to read). Also this error comes back even after taking changes from repository afresh so I am sure I am doing something wrong rather than some issue with git.</p>
  
  <pre class="lang-sh prettyprint-override"><code>kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
  # On branch product
  # Your branch is ahead of 'origin/product' by 1 commit.
  #
  # Changes not staged for commit:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/promo/impl/PromoServiceImpl.java
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   Adding
  no changes added to commit (use "git add" and/or "git commit -a")
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git pull origin product
  From ssh://192.168.2.251/TryGit
   * branch            product    -&gt; FETCH_HEAD
  Auto-merging TryGitResources/build/build.sql
  CONFLICT (content): Merge conflict in TryGitResources/build/build.sql
  Automatic merge failed; fix conflicts and then commit the result.
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
  # On branch product
  # Your branch is ahead of 'origin/product' by 1 commit.
  #
  # Changes to be committed:
  #
  #   modified:   TryGitCore/src/main/java/com/TryGit/core/api/binding.xml
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/api/impl/ApiServiceImpl.java
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/common/impl/StartupServiceImpl.java
  #   modified:   TryGitWeb/src/main/webapp/WEB-INF/wsdl/TryGit.wsdl
  #   modified:   TryGitWeb/src/main/webapp/static/css/TryGit/homeDeal.css
  #   modified:   TryGitWeb/src/main/webapp/static/css/TryGit/TryGit.css
  #   modified:   TryGitWeb/src/main/webapp/static/img/TryGit/sprite/TryGit.png
  #   modified:   TryGitWeb/src/main/webapp/views/admin/createPromoCode.jsp
  #   modified:   TryGitWeb/src/main/webapp/views/admin/product/productAdmin.jsp
  #   modified:   TryGitWeb/src/main/webapp/views/deal/homePage.jsp
  
  #
  # Unmerged paths:
  #   (use "git add/rm &lt;file&gt;..." as appropriate to mark resolution)
  #
  #   both modified:      TryGitResources/build/build.sql
  #
  # Changes not staged for commit:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/promo/impl/PromoServiceImpl.java
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   Adding
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git reset TryGitResources/build/build.sql
  Unstaged changes after reset:
  M   TryGitResources/build/build.sql
  M   TryGitServices/src/main/java/com/TryGit/services/promo/impl/PromoServiceImpl.java
  kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
  # On branch product
  # Your branch is ahead of 'origin/product' by 1 commit.
  #
  # Changes to be committed:
  #
  #   modified:   TryGitCore/src/main/java/com/TryGit/core/api/binding.xml
  #   modified:   TryGitResources/build/build.sql
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/api/impl/ApiServiceImpl.java
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/common/impl/StartupServiceImpl.java
  #   modified:   TryGitWeb/src/main/webapp/WEB-INF/wsdl/TryGit.wsdl
  #   modified:   TryGitWeb/src/main/webapp/static/css/TryGit/homeDeal.css
  #   modified:   TryGitWeb/src/main/webapp/static/css/TryGit/TryGit.css
  #   modified:   TryGitWeb/src/main/webapp/static/img/TryGit/sprite/TryGit.png
  #   modified:   TryGitWeb/src/main/webapp/views/admin/createPromoCode.jsp
  #   modified:   TryGitWeb/src/main/webapp/views/admin/product/productAdmin.jsp
  #   modified:   TryGitWeb/src/main/webapp/views/deal/homePage.jsp
  #
  # Changes not staged for commit:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #   modified:   TryGitResources/build/build.sql
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/promo/impl/PromoServiceImpl.java
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   Adding
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git stash
  Saved working directory and index state WIP on product: b8bb080 changing build.sql for RBT task
  HEAD is now at b8bb080 changing build.sql for RBT task
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
  # On branch product
  # Your branch is ahead of 'origin/product' by 1 commit.
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   Adding
  nothing added to commit but untracked files present (use "git add" to track)
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git reset Adding
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git reset Adding
  
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
  # On branch product
  # Your branch is ahead of 'origin/product' by 1 commit.
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   Adding
  nothing added to commit but untracked files present (use "git add" to track)
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git rm Adding
  fatal: pathspec 'Adding' did not match any files
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ man git rm
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git rm Adding
  fatal: pathspec 'Adding' did not match any files
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
  # On branch product
  # Your branch is ahead of 'origin/product' by 1 commit.
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   Adding
  nothing added to commit but untracked files present (use "git add" to track)
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git pull origin product
  remote: Counting objects: 566, done.
  remote: Compressing objects: 100% (316/316), done.
  remote: Total 386 (delta 207), reused 0 (delta 0)
  Receiving objects: 100% (386/386), 203.81 KiB, done.
  Resolving deltas: 100% (207/207), completed with 56 local objects.
  From ssh://192.168.2.251/TryGit
   * branch            product    -&gt; FETCH_HEAD
  Auto-merging TryGitResources/build/build.sql
  CONFLICT (content): Merge conflict in TryGitResources/build/build.sql
  Automatic merge failed; fix conflicts and then commit the result.
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git pull origin product
  M   TryGitCore/src/main/java/com/TryGit/core/api/binding.xml
  U   TryGitResources/build/build.sql
  M   TryGitServices/src/main/java/com/TryGit/services/api/impl/ApiServiceImpl.java
  M   TryGitServices/src/main/java/com/TryGit/services/common/impl/StartupServiceImpl.java
  M   TryGitWeb/src/main/webapp/WEB-INF/wsdl/TryGit.wsdl
  M   TryGitWeb/src/main/webapp/static/css/TryGit/homeDeal.css
  M   TryGitWeb/src/main/webapp/static/css/TryGit/TryGit.css
  M   TryGitWeb/src/main/webapp/static/img/TryGit/sprite/TryGit.png
  M   TryGitWeb/src/main/webapp/views/admin/createPromoCode.jsp
  M   TryGitWeb/src/main/webapp/views/admin/product/productAdmin.jsp
  M   TryGitWeb/src/main/webapp/views/deal/homePage.jsp
  Pull is not possible because you have unmerged files.
  Please, fix them up in the work tree, and then use 'git add/rm &lt;file&gt;'
  as appropriate to mark resolution, or use 'git commit -a'.
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git add TryGitResources/build/build.sql
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git pull origin product
  You have not concluded your merge (MERGE_HEAD exists).
  Please, commit your changes before you can merge.
  kamal@kamal-Lenovo-G470:~/git/TryGit$ gs
  # On branch product
  # Your branch is ahead of 'origin/product' by 1 commit.
  #
  # Changes to be committed:
  #
  #   modified:   TryGitCore/src/main/java/com/TryGit/core/api/binding.xml
  #   modified:   TryGitResources/build/build.sql
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/api/impl/ApiServiceImpl.java
  #   modified:   TryGitServices/src/main/java/com/TryGit/services/common/impl/StartupServiceImpl.java
  #   modified:   TryGitWeb/src/main/webapp/WEB-INF/wsdl/TryGit.wsdl
  #   modified:   TryGitWeb/src/main/webapp/static/css/TryGit/homeDeal.css
  #   modified:   TryGitWeb/src/main/webapp/static/css/TryGit/TryGit.css
  #   modified:   TryGitWeb/src/main/webapp/static/img/TryGit/sprite/TryGit.png
  #   modified:   TryGitWeb/src/main/webapp/views/admin/createPromoCode.jsp
  #   modified:   TryGitWeb/src/main/webapp/views/admin/product/productAdmin.jsp
  #   modified:   TryGitWeb/src/main/webapp/views/deal/homePage.jsp
  
  #
  # Untracked files:
  #   (use "git add &lt;file&gt;..." to include in what will be committed)
  #
  #   Adding
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ git pull origin product
  You have not concluded your merge (MERGE_HEAD exists).
  Please, commit your changes before you can merge.
  
  kamal@kamal-Lenovo-G470:~/git/TryGit$ 
  </code></pre>