Comment faire git merge / pull correctement: Vous n'avez pas terminé votre fusion (MERGE_HEAD existe)
Je suis un newbie de Git et de la difficulté à comprendre comment utiliser Git. J'ai été en utilisant les CV en passant par certaines courbe d'apprentissage pour Git. Voici ce que tous j'ai essayé
Maintenant que j'avais changé que deux fichiers PromoServiceImpl.java et de construire.sql. Cependant, ayant de la difficulté à la fusion changé de "produit" de la branche.
Autres fichiers que vous voyez (comme ApiServiceImpl.java etc) sont les changements d'autres utilisateurs, mais je ne suis pas sûr si la représentation ici suggère que j'ai changé. Prob il a obtenu fusionné depuis le début de tirer des commandes et maintenant il attend de moi à les commettre ??
Peu importe quel est le flux de commandes que j'ai suivi (même après une recherche Google), je vois le message d'erreur suivant:
Vous n'avez pas conclu de fusion (MERGE_HEAD existe)
S'il vous plaît, valider vos modifications avant de fusionner.
Voici la séquence de commandes que j'ai suivi et de sortie (essayé pour faire joli par insertion de nouvelles lignes pour tout le monde à lire). Aussi cette erreur revient même après la prise de changements de référentiel de nouveau donc, je suis sûr que je suis en train de faire quelque chose de mal, plutôt que d'un problème avec git.
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 <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: TryGitServices/src/main/java/com/TryGit/services/promo/impl/PromoServiceImpl.java
#
# Untracked files:
# (use "git add <file>..." 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 -> 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 <file>..." as appropriate to mark resolution)
#
# both modified: TryGitResources/build/build.sql
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: TryGitServices/src/main/java/com/TryGit/services/promo/impl/PromoServiceImpl.java
#
# Untracked files:
# (use "git add <file>..." 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 <file>..." to update what will be committed)
# (use "git checkout -- <file>..." 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 <file>..." 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 <file>..." 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 <file>..." 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 <file>..." 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 -> 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 <file>'
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 <file>..." 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$
source d'informationauteur Smiles in a Jar
Vous devez vous connecter pour publier un commentaire.
Il ya un couple de choses qui se passent ici. Elle aide à comprendre ce qui se passe quand vous émettez des différentes commandes Git.
La
pull
de commande (comme dansgit pull
) résultats dans unfetch
suivie par unmerge
. Ainsi, lorsque vous avez unpull
Git essayé de tirer sur les modifications de la distance par défaut référentiel
et de les fusionner.
Faisant, il a rencontré un conflit
Git maintient ce 3 versions du fichier dans l'attente d'une fusion -- votrechangements tiré et l'ancêtre commun. La version tiré en est stockée temporairement dans MERGE_HEAD.
Vous pouvez voir les différences avec un
git diff
invocation. À ce stade, vous avez besoin pour résoudre les conflits qui Git a été incapable de résoudre automatiquement. Une fois que vous avez fixés, il suffit d'exécuter l'habitudegit add
suivie par ungit commit
. Ce processus est expliqué dans les exemples de la section de la page de man pour lecommit
commande.Oh! Et il semble que vous avez un fichier appelé
Adding
. Notez que legit status
commande se termine avecCe qui se passe quand vous demander à Git de suivre un répertoire (par exemple lorsque vous avez
git init .
). À partir de là, Git surveille les changements dans l'emplacement spécifié. Le dessus est en disant que "je vois que vous avez ajouté un fichier appelé Ajout. Je ne sais pas plus sur le sujet (c'est sans traces)." Une fois que vous l'ajouter, Git commence le suivi des modifications (pouvez-vous dire ce a changé au fil du temps).