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.53.0 no changes
-
2.52.0
2025-11-17
- 2.51.2 no changes
-
2.51.1
2025-10-15
- 2.50.1 → 2.51.0 no changes
-
2.50.0
2025-06-16
- 2.45.1 → 2.49.1 no changes
-
2.45.0
2024-04-29
- 2.43.1 → 2.44.4 no changes
-
2.43.0
2023-11-20
- 2.41.1 → 2.42.4 no changes
-
2.41.0
2023-06-01
- 2.38.3 → 2.40.4 no changes
-
2.38.2
2022-12-11
- 2.38.1 no changes
-
2.38.0
2022-10-02
- 2.37.1 → 2.37.7 no changes
-
2.37.0
2022-06-27
- 2.31.1 → 2.36.6 no changes
-
2.31.0
2021-03-15
- 2.22.1 → 2.30.9 no changes
-
2.22.0
2019-06-07
- 2.20.1 → 2.21.4 no changes
-
2.20.0
2018-12-09
- 2.12.5 → 2.19.6 no changes
-
2.11.4
2017-09-22
- 2.2.3 → 2.10.5 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
BESKRIVNING
Använd git mergetool för att köra ett av flera merge-verktyg för att lösa merge-konflikter. Det körs vanligtvis efter git merge.
Om en eller flera <fil>-parametrar anges, kommer merge-verktygsprogrammet att köras för att lösa skillnader i varje fil (och hoppa över de utan konflikter). Att ange en katalog inkluderar alla olösta filer i den sökvägen. Om inga <fil>-namn anges, kommer git mergetool att köra merge-verktygsprogrammet på varje fil med merge-konflikter.
ALTERNATIV
-
-t<verktyg> -
--tool=<verktyg> -
Använd det sammanslagningsupplösningsprogram som anges av <verktyg>. Giltiga värden inkluderar
emerge,gvimdiff,kdiff3,meld,vimdiffochtortoisemerge. Körgitmergetool--tool-helpför listan över giltiga <verktyg>-inställningar.Om ett program för sammanslagningslösning inte anges, kommer
gitmergetoolatt använda konfigurationsvariabelnmerge.tool. Om konfigurationsvariabelnmerge.toolinte är satt, kommergitmergetoolatt välja en lämplig standardinställning.Du kan explicit ange en fullständig sökväg till verktyget genom att ställa in konfigurationsvariabeln
mergetool.<tool>.path. Du kan till exempel konfigurera den absoluta sökvägen till kdiff3 genom att ställa inmergetool.kdiff3.path. Annars antargitmergetoolatt verktyget är tillgängligt i$PATH.Istället för att köra ett av de kända sammanslagingsverktygs-programmen kan
gitmergetoolanpassas för att köra ett alternativt program genom att ange kommandoraden som ska anropas i en konfigurationsvariabelmergetool.<verktyg>.cmd.När
gitmergetoolanropas med detta verktyg (antingen genom alternativet-teller--tooleller konfigurationsvariabelnmerge.tool), kommer den konfigurerade kommandoraden att anropas medBASEsatt till namnet på en temporär fil som innehåller den gemensamma basen för sammanslagningen, om tillgänglig;LOCALsatt till namnet på en temporär fil som innehåller innehållet i filen på den aktuella grenen;REMOTEsatt till namnet på en temporär fil som innehåller innehållet i filen som ska sammanfogas, ochMERGEDsatt till namnet på den fil som sammanslagningsverktyget ska skriva resultatet av sammanslagningslösningen till.Om det anpassade sammanslagningsverktyget korrekt indikerar att en sammanslagningslösning har lyckats med sin avslutningskod, kan konfigurationsvariabeln
mergetool.<verktyg>.trustExitCodesättas tilltrue. Annars kommergitmergetoolatt uppmana användaren att indikera att lösningen har lyckats efter att det anpassade verktyget har avslutats. -
--tool-help -
Skriv ut en lista över sammanslagningsverktyg som kan användas med
--tool. -
-y -
--no-prompt -
Fråga inte före varje anrop av sammanslagningsprogrammet. Detta är standardinställningen om sammanslagningsprogrammet explicit anges med alternativet
--tooleller med konfigurationsvariabelnmerge.tool. -
--prompt -
Fråga före varje anrop av sammanslagningsprogrammet för att ge användaren en chans att hoppa över sökvägen.
-
-g -
--gui -
När
git-mergetoolanropas med alternativet-geller--gui, kommer standardverktyget för sammanslagning att läsas från den konfigurerade variabelnmerge.guitoolistället förmerge.tool. Ommerge.guitoolinte är inställt, kommer vi att använda verktyget som konfigurerats undermerge.tool. Detta kan väljas automatiskt med hjälp av konfigurationsvariabelnmergetool.guiDefault. -
--no-gui -
Detta åsidosätter en tidigare
-g- eller--gui-inställning ellermergetool.guiDefault-konfiguration och läser standardverktyget för sammanslagning från den konfigurerade variabelnmerge.tool. -
-O<ordingsfil> -
Bearbeta filer i den ordning som anges i <ordingsfil>, som har ett glob-mönster per rad. Detta åsidosätter konfigurationsvariabeln
diff.orderFile(se git-config[1]). För att avbrytadiff.orderFile, använd-O/dev/null.
KONFIGURATION
Allt under den här raden i det här avsnittet är selektivt inkluderat från dokumentationen git-config[1]. Innehållet är detsamma som det som finns där:
-
mergetool.<tool>.path -
Åsidosätt sökvägen för det givna verktyget. Detta är användbart om ditt verktyg inte finns i
$PATH. -
mergetool.<tool>.cmd -
Specify the command to invoke the specified merge tool. The specified command is evaluated in shell with the following variables available:
BASEis the name of a temporary file containing the common base of the files to be merged, if available;LOCALis the name of a temporary file containing the contents of the file on the current branch;REMOTEis the name of a temporary file containing the contents of the file from the branch being merged;MERGEDcontains the name of the file to which the merge tool should write the results of a successful merge. -
mergetool.<verktyg>.hideResolved -
Tillåter användaren att åsidosätta det globala värdet
mergetool.hideResolvedför ett specifikt verktyg. Semergetool.hideResolvedför en fullständig beskrivning. -
mergetool.<tool>.trustExitCode -
För ett anpassat sammanslagnings-kommando anger du om avslutningskoden för sammanfognings-kommandot kan användas för att avgöra om sammanslagningen lyckades. Om detta inte är inställt på sant kontrolleras tidsstämpeln för sammanslagningsmålfilen och sammanslagningen antas ha lyckats om filen har uppdaterats. Annars uppmanas användaren att ange att sammanslagningen lyckades.
-
mergetool.meld.hasOutput -
Äldre versioner av
meldstöder inte alternativet--output. Git kommer att försöka upptäcka ommeldstöder--outputgenom att inspektera utdata frånmeld--help. Om du konfigurerarmergetool.meld.hasOutputhoppar Git över dessa kontroller och använder det konfigurerade värdet istället. Ommergetool.meld.hasOutputställs in påtruefår Git att ovillkorligen använda alternativet--output, ochfalseundviker att använda--output. -
mergetool.meld.useAutoMerge -
När
--auto-mergeär angivet, kommer meld att sammanfoga alla icke-konfliktande delar automatiskt, markera de motstridiga delarna och vänta på användarens beslut. Ommergetool.meld.useAutoMergesätts tilltrueanger du att Git villkorslöst ska använda alternativet--auto-mergemedmeld. Om detta värde sätts tillautodetekterar git om--auto-mergestöds och kommer endast att använda--auto-mergenär det är tillgängligt. Värdetfalseundviker att använda--auto-mergehelt och hållet, och är standardvärdet. -
mergetool.<variant>.layout -
Konfigurera layouten för delade fönster för vimdiffs <variant>, vilket är någon av
vimdiff,nvimdiff,gvimdiff. Vid start avgitmergetoolmed--tool=<variant> (eller utan--toolommerge.toolär konfigurerad som <variant>), kommer Git att konsulteramergetool.<variant>.layoutför att bestämma verktygets layout. Om den variantspecifika konfigurationen inte är tillgänglig användsvimdiffsom reserv. Om inte heller den är tillgänglig används en standardlayout med 4 fönster. För att konfigurera layouten, se BAKÄNDA-SPECIFIKA TIPS sektion. -
mergetool.hideResolved -
Under en sammanslagning kommer Git automatiskt att lösa så många konflikter som möjligt och skriva
$MERGED-filen som innehåller konfliktmarkörer runt eventuella konflikter som den inte kan lösa;$LOCALoch$REMOTEär normalt versionerna av filen från före Gits konfliktlösning. Denna flagga gör att$LOCALoch$REMOTEskrivs över så att endast de olösta konflikterna presenteras för sammanslagningsverktyget. Kan konfigureras per verktyg via konfigurationsvariabelnmergetool.<verktyg>.hideResolved. Standardvärdet ärfalse. -
mergetool.keepBackup -
Efter att en sammanslagning har utförts kan originalfilen med konfliktmarkörer sparas som en fil med filändelsen
.orig. Om variabeln är satt tillfalsebevaras inte filen. Standardvärdet ärsant(dvs. behåll säkerhetskopiorna). -
mergetool.keepTemporaries -
När ett anpassat sammanslagningsverktyg anropas använder Git en uppsättning temporära filer för att skicka till verktyget. Om verktyget returnerar ett fel och denna variabel är satt till
true, kommer dessa temporära filer att bevaras; annars kommer de att tas bort efter att verktyget har avslutats. Standardvärdet ärfalse. -
mergetool.writeToTemp -
Git skriver som standard temporära
BASE-,LOCAL- ochREMOTE-versioner av motstridiga filer i arbetsträdet. Git kommer att försöka använda en temporär katalog för dessa filer närtrueär satt. Standardvärdet ärfalse. -
mergetool.prompt -
Prompt before each invocation of the merge resolution program.
-
mergetool.guiDefault -
Sätt
trueför att användamerge.guitoolsom standard (motsvarande att ange argumentet--gui), ellerautoför att väljamerge.guitoolellermerge.toolberoende på förekomsten av ettDISPLAYmiljövariabelvärde. Standardvärdet ärfalse, där argumentet--guimåste anges explicit för attmerge.guitoolska kunna användas.
TILLFÄLLIGA FILER
git mergetool skapar *.orig säkerhetskopior när de löser sammanslagningar. Dessa kan säkert tas bort när en fil har sammanfogats och dess git mergetool-session har slutförts.
Om konfigurationsvariabeln mergetool.keepBackup sätts till false tar git mergetool automatiskt bort säkerhetskopiorna när filerna har sammanfogats.
GIT
En del av git[1]-sviten