Ik heb een branch gemaakt met de naam ‘f’ en heb een checkout gedaan om te masteren. Toen ik het git pull
commando probeerde, kreeg ik dit bericht:
You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
Toen ik de git status
probeerde, kreeg ik het volgende:
On branch master
# Your branch and 'origin/master' have diverged,
# and have 1 and 13 different commit(s) each, respectively.
#
# Changes to be committed:
#
# modified: app/assets/images/backward.png
# modified: app/assets/images/forward.png
# new file: app/assets/images/index_background.jpg
# new file: app/assets/images/loading.gif
# modified: app/assets/images/pause.png
# modified: app/assets/images/play.png
# new file: app/assets/javascripts/jquery-ui-bootstrap.js
# new file: app/assets/stylesheets/jquery-ui-bootstrap.css
# modified: app/controllers/friends_controller.rb
# modified: app/controllers/plays_controller.rb
# modified: app/mailers/invite_friends_mailer.rb
# modified: app/mailers/send_plays_mailer.rb
# modified: app/mailers/shot_chart_mailer.rb
# modified: app/views/friends/show_plays.html.erb
# modified: app/views/layouts/application.html.erb
# modified: app/views/plays/_inbox_table.html.erb
# modified: app/views/plays/show.html.erb
# modified: app/views/welcome/contact_form.html.erb
# modified: app/views/welcome/index.html.erb
# modified: log/development.log
# modified: log/restclient.log
# new file: tmp/cache/assets/C1A/C00/sprockets%2Fb7901e0813446f810e560158a1a97066
# modified: tmp/cache/assets/C64/930/sprockets%2F65aa1510292214f4fd1342280d521e4c
# new file: tmp/cache/assets/C73/C40/sprockets%2F96912377b93498914dd04bc69fa98585
# new file: tmp/cache/assets/CA9/090/sprockets%2Fa71992733a432421e67e03ff1bd441d8
# new file: tmp/cache/assets/CCD/7E0/sprockets%2F47125c2ebd0e8b29b6511b7b961152a1
# modified: tmp/cache/assets/CD5/DD0/sprockets%2F59d317902de6e0f68689899259caff26
# modified: tmp/cache/assets/CE3/080/sprockets%2F5c3b516e854760f14eda2395c4ff2581
# new file: tmp/cache/assets/CED/B20/sprockets%2F423772fde44ab6f6f861639ee71444c4
# new file: tmp/cache/assets/D0C/E10/sprockets%2F8d1f4b30c6be13017565fe1b697156ce
# new file: tmp/cache/assets/D12/290/sprockets%2F93ae21f3cdd5e24444ae4651913fd875
# new file: tmp/cache/assets/D13/FC0/sprockets%2F57aad34b9d3c9e225205237dac9b1999
# new file: tmp/cache/assets/D1D/DE0/sprockets%2F5840ff4283f6545f472be8e10ce67bb8
# new file: tmp/cache/assets/D23/BD0/sprockets%2F439d5dedcc8c54560881edb9f0456819
# new file: tmp/cache/assets/D24/570/sprockets%2Fb449db428fc674796e18b7a419924afe
# new file: tmp/cache/assets/D28/480/sprockets%2F9aeec798a04544e478806ffe57e66a51
# new file: tmp/cache/assets/D3A/ED0/sprockets%2Fcd959cbf710b366c145747eb3c062bb4
# new file: tmp/cache/assets/D3C/060/sprockets%2F363ac7c9208d3bb5d7047f11c159d7ce
# new file: tmp/cache/assets/D48/D00/sprockets%2Fe23c97b8996e7b5567a3080c285aaccb
# new file: tmp/cache/assets/D6A/900/sprockets%2Fa5cece9476b21aa4d5f46911ca96c450
# new file: tmp/cache/assets/D6C/510/sprockets%2Fb086a020de3c258cb1c67dfc9c67d546
# new file: tmp/cache/assets/D70/F30/sprockets%2Facf9a6348722adf1ee7abbb695603078
# new file: tmp/cache/assets/DA3/4A0/sprockets%2F69c26d0a9ca8ce383e20897cefe05aa4
# new file: tmp/cache/assets/DA7/2F0/sprockets%2F61da396fb86c5ecd844a2d83ac759b4b
# new file: tmp/cache/assets/DB9/C80/sprockets%2F876fbfb9685b2b8ea476fa3c67ae498b
# new file: tmp/cache/assets/DBD/7A0/sprockets%2F3640ea84a1dfaf6f91a01d1d6fbe223d
# new file: tmp/cache/assets/DC1/8D0/sprockets%2Fe5ee1f1cfba2144ec00b1dcd6773e691
# new file: tmp/cache/assets/DCC/E60/sprockets%2Fd6a95f601456c93ff9a1bb70dea3dfc0
# new file: tmp/cache/assets/DF1/130/sprockets%2Fcda4825bb42c91e2d1f1ea7b2b958bda
# new file: tmp/cache/assets/E23/DE0/sprockets%2Fb1acc25c28cd1fabafbec99d169163d3
# new file: tmp/cache/assets/E23/FD0/sprockets%2Fea3dbcd1f341008ef8be67b1ccc5a9c5
# modified: tmp/cache/assets/E4E/AD0/sprockets%2Fb930f45cfe7c6a8d0efcada3013cc4bc
# new file: tmp/cache/assets/E63/7D0/sprockets%2F77de495a665c3ebcb47befecd07baae6
# modified: tmp/pids/server.pid
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Coachbase/
# log/development.log.orig
# log/restclient.log.orig
Wat moet ik doen?
Antwoord 1, autoriteit 100%
Oké. Het probleem is dat je vorige pull niet automatisch kon worden samengevoegd en naar de conflictstatus ging. En het conflict was niet goed opgelost voor de volgende pull.
-
Maak de samenvoeging ongedaan en trek opnieuw.
Een samenvoeging ongedaan maken:
git merge --abort
[Sinds git versie 1.7.4]git reset --merge
[vorige git-versies] -
Los het conflict op.
-
Vergeet niet om de samenvoeging toe te voegen en vast te leggen.
-
git pull
zou nu goed moeten werken.
Antwoord 2, autoriteit 5%
Als je zeker weet dat je alle samenvoegconflicten al hebt opgelost:
rm -rf .git/MERGE*
En de fout zal verdwijnen.
Antwoord 3, autoriteit 4%
Ik denk dat het de moeite waard is om te vermelden dat er talloze scenario’s zijn waarin het bericht You have not concluded your merge (MERGE_HEAD exists)
kan optreden, omdat waarschijnlijk veel mensen op deze pagina zijn beland na het zoeken naar bericht. De resolutie hangt af van hoe je daar bent gekomen.
git status
is altijd een handig startpunt.
Als je de inhoud al naar tevredenheid hebt samengevoegd en nog steeds dit bericht ontvangt, kan het zo simpel zijn als het doen
git add file
git commit
Maar nogmaals, het hangt echt van de situatie af. Het is een goed idee om de basis te begrijpen voordat je iets probeert (dezelfde link die Terence heeft gepost):
Git – Basis samenvoegconflicten
Antwoord 4, autoriteit 2%
Ik denk dat dit de juiste manier is:
git merge --abort
git fetch --all
Dan heb je twee opties:
git reset --hard origin/master
OF Als je op een andere tak zit:
git reset --hard origin/<branch_name>
Antwoord 5
Probeer
git reset --hard origin/trunk
‘trunk’ is de branch die ik probeer te bereiken.
Ik weet niet hoe of waarom dit werkt. Het had iets te maken met een commit die ik maakte die mijn pull-verzoeken dwong om een merge uit te voeren.
Antwoord 6
Ik heb conflicten opgelost en ook een commit gedaan, maar krijg nog steeds deze foutmelding op git push
Alle conflicten zijn opgelost, maar u voegt nog steeds samen.
(gebruik “git commit” om het samenvoegen te beëindigen)
Ik heb deze stappen uitgevoerd om de fout op te lossen:
rm -rf .git/MERGE*
git pull origin branch_name
git push origin branch_name
Antwoord 7
Probeer een tijdelijk bestand te wijzigen. Zoals gewoon elke spatie verwijderen of spatie toevoegen en vervolgens dat bestand vastleggen en pushen.
git add ‘temporary_change_file’
git commit -m “git probleem oplossen”
git push origin development
En probeer dan git pull,
git pull origin development
Ik hoop dat dit je kan helpen.
Antwoord 8
Afbreken werkte niet voor mij. Dus ik moest continue
en dit is wat voor mij werkte:
git merge --continue
Antwoord 9
Blokquote
Als je probeert om van een andere vertakking naar je vertakking te trekken. Als u deze fout ziet.
Eerst zou je git commit moeten proberen en dan een andere branch in de jouwe moeten trekken.
- “git add . “
- git commit
- Doe dan git pull uit de vereiste branch.
Antwoord 10
In mijn geval had ik een kersenpluk die een aantal samenvoegconflicten veroorzaakte, dus ik besluit de kersenpluk niet te voltooien. Ik heb al mijn wijzigingen weggegooid. Hierdoor kwam ik in een staat waarin ik de volgende foutmelding kreeg:
U heeft uw samenvoeging niet voltooid (MERGE_HEAD bestaat
Om het probleem op te lossen heb ik het volgende git-commando uitgevoerd waarmee het probleem is opgelost.
git cherry-pick --abort
Antwoord 11
Samenvoegwijzigingen doorvoeren loste mijn probleem op:
git commit -m "commit message"
Antwoord 12
We kunnen git merge --continue
met git versie 2.12 en hoger gebruiken om door te gaan met samenvoegen nadat het conflict is opgelost. Kan dit antwoord
Antwoord 13
De beste aanpak is om het samenvoegen ongedaan te maken en het samenvoegen opnieuw uit te voeren. Vaak krijg je de volgorde van dingen in de war. Probeer de conflicten op te lossen en jezelf in de war te brengen.
Dus maak het ongedaan en voeg opnieuw samen.
Zorg ervoor dat u de juiste diff-tools hebt ingesteld voor uw omgeving. Ik werk op een Mac en gebruik DIFFMERGE. Ik denk dat DIFFMERGE beschikbaar is voor alle omgevingen. Instructies vindt u hier: Installeer DIFF Merge op een MAC
Ik heb deze hulp bij het oplossen van mijn conflicten: Git Basic-Merge-Conflicten
Antwoord 14
gebruik eerst git pull
om de repository samen te voegen, sla je wijziging op. Typ vervolgens git commit -m "your commit"
.
Antwoord 15
Ik heb het conflict opgelost en vervolgens een commit gedaan met -a optie.
Het werkte voor mij.
Antwoord 16
Dit werkte voor mij:
git log
`git reset --hard <089810b5be5e907ad9e3b01f>`
git pull
git status