目录搜索
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
文字

名称

git-merge-index  - 为需要合并的文件运行合并

概要

git merge-index [-o] [-q] <merge-program> (-a | [--] <file>*)

描述

这将查找索引中的<file>(s),并且如果有任何合并条目,则将这些文件的SHA-1散列作为参数1,2,3(空参数,如果没有文件)和<file>作为参数4.三个文件的文件模式作为参数5,6和7传递。

选项

--

不要将更多的参数解释为选项。

-a

针对需要合并的索引中的所有文件运行合并。

-o

不要停止在第一次失败的合并,而是在一次完成所有的合并 - 即使先前的合并返回错误时继续合并,并且仅在所有合并之后返回错误代码。

-q

不要抱怨失败的合并程序(合并程序失败通常表示合并期间发生冲突)。这是为了可能想要发出自定义消息的瓷器。

如果git merge-index使用多个<file> s(或-a)调用,则它将依次处理它们,只有在合并返回非零退出代码时才会停止。

通常,这是通过一个脚本调用 Git 模仿RCS包中的merge命令来运行的。

git merge-one-file分发中包含调用的示例脚本。

警报警报!Git“合并对象顺序”与RCS merge程序合并对象顺序不同。在上述顺序中,原件是第一个。但是,3路合并程序的参数merge是将原件放在中间。不要问我为什么。

示例:

torvalds@ppc970:~/merge-test> git merge-index cat MM
This is MM from the original tree.                        # original
This is modified MM in the branch A.                        # merge1
This is modified MM in the branch B.                        # merge2
This is modified MM in the branch B.                        # current contents

亦或是

torvalds@ppc970:~/merge-test> git merge-index cat AA MM
cat: : No such file or directory
This is added AA in the branch A.This is added AA in the branch B.This is added AA in the branch B.fatal: merge program failed

后面的例子显示了git merge-index一旦任何事情返回错误后,如何停止尝试合并(即,cat为 AA 文件返回错误,因为它不存在于原始文件中,因此git merge-index甚至没有尝试合并 MM 事物)。

上一篇:下一篇: