| GIT-MERGE-INDEX(1) | Git Manual | GIT-MERGE-INDEX(1) |
نام (NAME)
git-merge-index - اجرای ادغام برای فایلهای نیازمند ادغام
خلاصه دستور (SYNOPSIS)
git merge-index [-o] [-q] <merge-program> (-a | ( [--] <file>...) )
توضیحات (DESCRIPTION)
این دستور <file>(ها) را در نمایه (index) جستجو میکند و اگر مدخلهای ادغام وجود داشته باشد، هش SHA-1 آن فایلها را به عنوان آرگومانهای ۱، ۲ و ۳ (اگر فایلی وجود نداشته باشد، آرگومان خالی) و <file> را به عنوان آرگومان ۴ ارسال میکند. حالتهای فایل (file modes) برای این سه فایل به عنوان آرگومانهای ۵، ۶ و ۷ ارسال میشوند.
گزینهها (OPTIONS)
--
-a
-o
-q
اگر git merge-index با چند <file> (یا -a) فراخوانی شود، آنها را به نوبت پردازش میکند و تنها در صورتی متوقف میشود که برنامه ادغام یک کد خروج غیر صفر بازگرداند.
معمولاً این دستور به همراه اسکریپتی اجرا میشود که تقلید گیت از دستور merge بسته RCS را فراخوانی میکند.
یک اسکریپت نمونه به نام git merge-one-file در توزیع گیت گنجانده شده است.
هشدار هشدار هشدار! ترتیب «شیء ادغام» در گیت با ترتیب شیء ادغام در برنامه merge متعلق به RCS متفاوت است. در ترتیب فوق، شیء اصلی (original) اول است. اما ترتیب آرگومانها در برنامه ادغام ۳طرفه 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)
| 2026-06-29 | Git 2.55.0 |