Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.35.1 → 2.53.0 no changes
-
2.35.0
2022-01-24
- 2.24.1 → 2.34.8 no changes
-
2.24.0
2019-11-04
- 2.1.4 → 2.23.4 no changes
-
2.0.5
2014-12-17
BESKRIVNING
Detta söker upp <fil>(filerna) i indexet och, om det finns några sammanslagningsposter, skickas SHA-1-hashen för dessa filer som argument 1, 2, 3 (tomt argument om ingen fil finns) och <fil> som argument 4. Fillägen för de tre filerna skickas som argument 5, 6 och 7.
ALTERNATIV
- --
-
Tolka inte fler argument som alternativ.
- -a
-
Kör sammanslagning mot alla filer i indexet som behöver sammanfogas.
- -o
-
Istället för att stanna vid den första misslyckade sammanslagningen, gör alla i ett försök – fortsätt med sammanslagningen även om tidigare sammanslagningar returnerade fel, och returnera bara felkoden efter alla sammanslagningar.
- -q
-
Klaga inte på ett misslyckat sammanslagningsprogram (ett misslyckande med sammanslagningen indikerar vanligtvis konflikter under sammanslagningen). Detta gäller för porcelains som kan vilja skicka anpassade meddelanden.
Om git merge-index anropas med flera <fil>s (eller -a) så bearbetar den dem i tur och ordning och stoppar bara om sammanslagning returnerar en avslutningskod som inte är noll.
Vanligtvis körs detta med ett skript som anropar Gits imitation av kommandot merge från RCS-paketet.
Ett exempelskript som heter git merge-one-file ingår i distributionen.
VARNING VARNING VARNING! Git-systemets "merge object order" skiljer sig från RCS merge-programmets sammanslagnings-ordning. I ordningen ovan kommer originalet först. Men argumentordningen till det trevägssammanfogningsprogrammet "merge" är att originalet ska vara i mitten. Fråga mig inte varför.
Exempel:
torvalds@ppc970:~/merge-test> git merge-index cat MM Detta är MM från det ursprungliga trädet. # original Detta är modifierad MM i gren A. # merge1 Detta är modifierad MM i gren B. # merge2 Detta är modifierad MM i gren B. # aktuellt innehåll
eller
torvalds@ppc970:~/merge-test> git merge-index cat AA MM cat: : Ingen sådan fil eller katalog Detta läggs till AA i gren A. Detta läggs till AA i gren B. Detta läggs till AA i gren B. fatalt: sammanslagningsprogrammet misslyckades
där det senare exemplet visar hur git merge-index slutar försöka sammanfoga när något har returnerat ett fel (dvs. cat returnerade ett fel för AA-filen, eftersom den inte fanns i originalet, och därmed försökte git merge-index inte ens sammanfoga MM-grejen).
GIT
En del av git[1]-sviten