目录搜索
GuidesgitattributesgiteverydaygitglossarygitignoregitmodulesgitrevisionsgittutorialgitworkflowsAdministrationgit archivegit bundlegit cleangit filter-branchgit fsckgit gcgit instawebgit reflogBasic Snapshottinggit addgit commitgit diffgit mvgit resetgit rmgit statusBranching and Merginggit branchgit checkoutgit loggit mergegit mergetoolgit stashgit tagDebugginggit bisectgit blamegit grepEmailgit amgit format-patchgit request-pullgit send-emailExternal Systemsgit fast-importgit svnGetting and Creating Projectsgit clonegit initGitgit annotategit archimportgit bisect-lk2009git check-attrgit check-mailmapgit check-ref-formatgit checkout-indexgit cherrygit citoolgit columngit credentialgit credential-cachegit credential-storegit cvsexportcommitgit cvsimportgit cvsservergit diff-filesgit diff-treegit difftoolgit fast-exportgit fetch-packgit fmt-merge-msggit get-tar-commit-idgit guigit http-backendgit http-fetchgit http-pushgit imap-sendgit index-packgit interpret-trailersgit ls-remotegit ls-treegit mailinfogit mailsplitgit merge-filegit merge-indexgit merge-one-filegit merge-treegit mktaggit mktreegit name-revgit notesgit p4git pack-objectsgit pack-redundantgit pack-refsgit parse-remotegit patch-idgit prunegit prune-packedgit quiltimportgit receive-packgit remote-extgit remote-fdgit remote-testgitgit repackgit replacegit rereregit send-packgit sh-i18ngit sh-setupgit shellgit show-branchgit show-indexgit stripspacegit unpack-filegit unpack-objectsgit upload-archivegit upload-packgit vargit verify-commitgit verify-taggit whatchangedgit worktreeInspection and Comparisongit describegit shortloggit showMiscellaneousapi credentialsapi indexgitcligitcore tutorialgitcredentialsgitcvs migrationgitdiffcoregithooksgitkgitnamespacesgitremote helpersgitrepository layoutgitsubmodulesgittutorial 2gitwebgitweb.confpack formatUser ManualPatchinggit applygit cherry-pickgit rebasegit revertPlumbing Commandsgit cat-filegit check-ignoregit commit-treegit count-objectsgit diff-indexgit for-each-refgit hash-objectgit ls-filesgit merge-basegit read-treegit rev-listgit rev-parsegit show-refgit symbolic-refgit update-indexgit update-refgit verify-packgit write-treeServer Admingit daemongit update-server-infoSetup and Configgitgit configgit helpSharing and Updating Projectsgit fetchgit pullgit pushgit remotegit submodule
文字

Name

git-mergetool  - 运行合并冲突解决工具来解决合并冲突

概要

git mergetool [--tool=<tool>] [-y | --[no-]prompt] [<file>…]

描述

使用git mergetool运行的几种合并一个实用程序来解决合并冲突。它通常在之后运行git merge

如果给出一个或多个<file>参数,则将运行合并工具程序以解决每个文件上的差异(跳过那些没有冲突的文件)。指定一个目录将包含该路径中所有未解析的文件。如果未指定<文件>名称,git mergetool则会在每个存在合并冲突的文件上运行合并工具程序。

选项

-t <tool>   --tool=<tool>

使用<tool>指定的合并解析程序。有效值包括emerge,gvimdiff,kdiff3,meld,vimdiff和tortoisemerge。运行git mergetool --tool-help有效的<工具>设置列表。

如果没有指定合并解析程序,git mergetool将使用配置变量merge.tool。如果配置变量merge.tool没有设置,git mergetool会选择一个合适的默认值。

您可以通过设置配置变量明确提供工具的完整路径mergetool.<tool>.path。例如,您可以通过设置配置kdiff3的绝对路径mergetool.kdiff3.path。否则,git mergetool假定该工具在PATH中可用。

git mergetool可以通过指定要在配置变量中调用的命令行来定制运行其他程序,而不是运行其中一个已知的合并工具程序mergetool.<tool>.cmd

git mergetool使用此工具调用此工具时(通过-t--tool选项或merge.tool配置变量),将调用已配置的命令行并将其$BASE设置为包含合并公共基础的临时文件的名称(如果可用); $LOCAL设置为包含当前分支上文件内容的临时文件的名称; $REMOTE设置为包含要合并的文件内容的临时文件的名称,并将其$MERGED设置为合并工具应写入合并解析结果的文件的名称。

如果自定义合并工具使用其退出代码正确指示合并分辨率的成功,则可将该配置变量mergetool.<tool>.trustExitCode设置为true。否则,git mergetool将在用户工具退出后提示用户指示解析成功。

--tool-help

打印可能使用的合并工具列表--tool

-y   --no-prompt

在每次调用合并解析程序之前不要提示。如果通过--tool选项或merge.tool配置变量显式指定合并解析程序,则这是默认值。

--prompt

在每次调用合并解决方案之前提示,以使用户有机会跳过该路径。

-O<orderfile>

按照<orderfile>中指定的顺序处理文件,每行有一个shell glob模式。这覆盖了diff.orderFile配置变量(请参阅git-config [1])。取消diff.orderFile,使用-O/dev/null

临时文件

git mergetool*.orig在解析合并时创建备份文件。一旦文件合并并且git mergetool会话完成,这些文件就可以安全移除。

mergetool.keepBackup配置变量设置为false导致git mergetool在文件成功合并时自动删除备份。

上一篇:下一篇: