Svenska ▾ Topics ▾ Latest version ▾ git-mergetool last updated in 2.52.0

NAMN

git-mergetool - Kör verktyg för att lösa sammanslagningskonflikter

SYNOPSIS

git mergetool [--tool=<verktyg>] [-y | --[no-]prompt] [<fil>…​]

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, vimdiff och tortoisemerge. Kör git mergetool --tool-help för listan över giltiga <verktyg>-inställningar.

Om ett program för sammanslagningslösning inte anges, kommer git mergetool att använda konfigurationsvariabeln merge.tool. Om konfigurationsvariabeln merge.tool inte är satt, kommer git mergetool att 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 in mergetool.kdiff3.path. Annars antar git mergetool att verktyget är tillgängligt i $PATH.

Istället för att köra ett av de kända sammanslagingsverktygs-programmen kan git mergetool anpassas för att köra ett alternativt program genom att ange kommandoraden som ska anropas i en konfigurationsvariabel mergetool.<verktyg>.cmd.

När git mergetool anropas med detta verktyg (antingen genom alternativet -t eller --tool eller konfigurationsvariabeln merge.tool), kommer den konfigurerade kommandoraden att anropas med BASE satt till namnet på en temporär fil som innehåller den gemensamma basen för sammanslagningen, om tillgänglig; LOCAL satt till namnet på en temporär fil som innehåller innehållet i filen på den aktuella grenen; REMOTE satt till namnet på en temporär fil som innehåller innehållet i filen som ska sammanfogas, och MERGED satt 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>.trustExitCode sättas till true. Annars kommer git mergetool att 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 --tool eller med konfigurationsvariabeln merge.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-mergetool anropas med alternativet -g eller --gui, kommer standardverktyget för sammanslagning att läsas från den konfigurerade variabeln merge.guitool istället för merge.tool. Om merge.guitool inte är inställt, kommer vi att använda verktyget som konfigurerats under merge.tool. Detta kan väljas automatiskt med hjälp av konfigurationsvariabeln mergetool.guiDefault.

--no-gui

Detta åsidosätter en tidigare -g- eller --gui-inställning eller mergetool.guiDefault-konfiguration och läser standardverktyget för sammanslagning från den konfigurerade variabeln merge.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 avbryta diff.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: BASE is the name of a temporary file containing the common base of the files to be merged, if available; LOCAL is the name of a temporary file containing the contents of the file on the current branch; REMOTE is the name of a temporary file containing the contents of the file from the branch being merged; MERGED contains 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.hideResolved för ett specifikt verktyg. Se mergetool.hideResolved fö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 meld stöder inte alternativet --output. Git kommer att försöka upptäcka om meld stöder --output genom att inspektera utdata från meld --help. Om du konfigurerar mergetool.meld.hasOutput hoppar Git över dessa kontroller och använder det konfigurerade värdet istället. Om mergetool.meld.hasOutput ställs in på true får Git att ovillkorligen använda alternativet --output, och false undviker 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. Om mergetool.meld.useAutoMerge sätts till true anger du att Git villkorslöst ska använda alternativet --auto-merge med meld. Om detta värde sätts till auto detekterar git om --auto-merge stöds och kommer endast att använda --auto-merge när det är tillgängligt. Värdet false undviker att använda --auto-merge helt 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 av git mergetool med --tool=<variant> (eller utan --tool om merge.tool är konfigurerad som <variant>), kommer Git att konsultera mergetool.<variant>.layout för att bestämma verktygets layout. Om den variantspecifika konfigurationen inte är tillgänglig används vimdiff som 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; $LOCAL och $REMOTE är normalt versionerna av filen från före Gits konfliktlösning. Denna flagga gör att $LOCAL och $REMOTE skrivs över så att endast de olösta konflikterna presenteras för sammanslagningsverktyget. Kan konfigureras per verktyg via konfigurationsvariabeln mergetool.<verktyg>.hideResolved. Standardvärdet är false.

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 till false bevaras inte filen. Standardvärdet är sant (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 är false.

mergetool.writeToTemp

Git skriver som standard temporära BASE-, LOCAL- och REMOTE-versioner av motstridiga filer i arbetsträdet. Git kommer att försöka använda en temporär katalog för dessa filer när true är satt. Standardvärdet är false.

mergetool.prompt

Prompt before each invocation of the merge resolution program.

mergetool.guiDefault

Sätt true för att använda merge.guitool som standard (motsvarande att ange argumentet --gui), eller auto för att välja merge.guitool eller merge.tool beroende på förekomsten av ett DISPLAY miljövariabelvärde. Standardvärdet är false, där argumentet --gui måste anges explicit för att merge.guitool ska 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.

BAKÄNDA-SPECIFIKA TIPS

vimdiff

Warning

Missing sv/mergetools/vimdiff.adoc

See original version for this content.

GIT

En del av git[1]-sviten