Git
English ▾ トピック ▾ 最新バージョン ▾ git-merge-index は 2.35.0 で最後に更新されました

名前

git-merge-index - マージが必要なファイルのマージを実行します

概要

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

説明

これはインデックス内の<file>を検索し、マージエントリがある場合は、それらのファイルのSHA-1ハッシュを引数1、2、3(ファイルがない場合は空の引数)、<file>を引数4として渡します。3つのファイルのファイルモードは、引数5、6、7として渡されます。

オプション

--

以降の引数をオプションとして解釈しません。

-a

マージが必要なインデックス内のすべてのファイルに対してマージを実行します。

-o

最初のマージ失敗で停止する代わりに、すべて一度に実行します - 前のマージがエラーを返した場合でもマージを続行し、すべてのマージ後にのみエラーコードを返します。

-q

マージプログラムの失敗について文句を言いません(マージプログラムの失敗は通常、マージ中の競合を示します)。これは、カスタムメッセージを出力したいポーセレン用です。

複数の<file>(または-a)を指定してgit merge-indexが呼び出された場合、マージがゼロ以外の終了コードを返すまで順番に処理します。

通常、これはRCSパッケージからのmergeコマンドのGitによる模倣を呼び出すスクリプトで実行されます。

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の処理を試行しなかった)マージの試行を停止する方法を示しています。

Git

git[1] スイートの一部

scroll-to-top