'\" t .\" Title: git-add .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026-06-29 .\" Manual: دستورات عمومی کاربر .\" Source: Git 2.55.0 .\" Language: Persian .\" .TH "GIT\-ADD" "1" "2026\-06\-29" "Git 2\&.55\&.0" "دستورات عمومی کاربر" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" git-add \- افزودن محتویات فایل به ایندکس .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBgit\fR \fBadd\fR [\fB\-\-verbose\fR | \fB\-v\fR] [\fB\-\-dry\-run\fR | \fB\-n\fR] [\fB\-\-force\fR | \fB\-f\fR] [\fB\-\-interactive\fR | \fB\-i\fR] [\fB\-\-patch\fR | \fB\-p\fR] [\fB\-\-edit\fR | \fB\-e\fR] [\fB\-\-\fR[\fBno\-\fR]\fBall\fR | \fB\-A\fR | \fB\-\-\fR[\fBno\-\fR]\fBignore\-removal\fR | [\fB\-\-update\fR | \fB\-u\fR]] [\fB\-\-sparse\fR] [\fB\-\-intent\-to\-add\fR | \fB\-N\fR] [\fB\-\-refresh\fR] [\fB\-\-ignore\-errors\fR] [\fB\-\-ignore\-missing\fR] [\fB\-\-renormalize\fR] [\fB\-\-chmod=\fR(\fB+\fR|\fB\-\fR)\fBx\fR] [\fB\-\-pathspec\-from\-file=\fR\fI\fR [\fB\-\-pathspec\-file\-nul\fR]] [\fB\-\-\fR] [\fI\fR\&...] .fi .sp .SH "توضیحات (DESCRIPTION)" .sp محتویات فایل‌های جدید یا تغییریافته را به ایندکس اضافه می‌کند\&. «ایندکس» (که به عنوان «محیط آماده‌سازی» یا «staging area» نیز شناخته می‌شود) فضایی است که برای آماده‌سازی محتویات کامیت بعدی از آن استفاده می‌کنید\&. .sp هنگامی که دستور \fBgit\fR \fBcommit\fR را بدون هیچ آرگومان دیگری اجرا می‌کنید، تنها تغییرات آماده‌شده (staged) را کامیت خواهد کرد\&. برای مثال، اگر \fBfile\&.c\fR را ویرایش کرده‌اید و می‌خواهید تغییرات آن فایل را کامیت کنید، می‌توانید دستورات زیر را اجرا نمایید: .sp .if n \{\ .RS 4 .\} .nf git add file\&.c git commit .fi .if n \{\ .RE .\} .sp همچنین می‌توانید با استفاده از \fBgit\fR \fBadd\fR \fB\-p\fR تنها بخشی از تغییرات اعمال‌شده در یک فایل را اضافه کنید\&. .sp این دستور را می‌توان چندین بار پیش از یک کامیت اجرا کرد\&. این دستور تنها محتویات فایل(های) مشخص‌شده را در همان لحظه اجرای دستور add اضافه می‌کند؛ چنانچه مایلید تغییرات بعدی نیز در کامیت بعدی گنجانده شوند، باید \fBgit\fR \fBadd\fR را مجدداً اجرا کنید تا محتوای جدید به ایندکس افزوده شود\&. .sp دستور \fBgit\fR \fBstatus\fR می‌تواند برای دریافت خلاصه‌ای از اینکه کدام فایل‌ها دارای تغییراتی هستند که برای کامیت بعدی آماده شده‌اند، استفاده شود\&. .sp دستور \fBgit\fR \fBadd\fR به طور پیش‌فرض فایل‌های نادیده‌گرفته‌شده (ignored) را اضافه نخواهد کرد\&. می‌توانید از گزینه \fB\-\-force\fR برای افزودن فایل‌های نادیده‌گرفته‌شده استفاده کنید\&. اگر نام دقیق یک فایل نادیده‌گرفته‌شده را مشخص کنید، \fBgit\fR \fBadd\fR با نمایش فهرستی از فایل‌های نادیده‌گرفته‌شده با خطا متوقف خواهد شد\&. در غیر این صورت، این فایل را بی‌صدا نادیده می‌گیرد\&. .sp لطفاً برای روش‌های جایگزین افزودن محتوا به یک کامیت، به \fBgit-commit\fR(1) مراجعه کنید\&. .SH "گزینه‌ها (OPTIONS)" .PP \fI\fR\&.\&.\&. .RS 4 فایل‌هایی که قرار است محتوای آن‌ها اضافه شود\&. الگوهای تطبیق نام فایل (مانند \fB*\&.c\fR) را می‌توان برای افزودن همه فایل‌های منطبق وارد کرد\&. همچنین یک نام دایرکتوری در ابتدا (مانند \fBdir\fR برای افزودن \fBdir/file1\fR و \fBdir/file2\fR) را می‌توان مشخص کرد تا ایندکس به‌گونه‌ای به‌روزرسانی شود که با وضعیت فعلی کل آن دایرکتوری مطابقت داشته باشد (برای مثال، مشخص کردن \fBdir\fR نه تنها فایلی مانند \fBdir/file1\fR که در درخت کاری تغییر یافته و فایلی مانند \fBdir/file2\fR که به درخت کاری اضافه شده، بلکه فایلی مانند \fBdir/file3\fR که از درخت کاری حذف شده است را نیز ثبت می‌کند)\&. توجه داشته باشید که نسخه‌های قدیمی‌تر گیت فایل‌های حذف‌شده را نادیده می‌گرفتند؛ چنانچه می‌خواهید فایل‌های تغییریافته یا جدید را اضافه کنید اما موارد حذف‌شده را نادیده بگیرید، از گزینه \fB\-\-no\-all\fR استفاده نمایید\&. .sp برای جزئیات بیشتر درباره نحو \fI\fR، به مدخل \fIpathspec\fR در \fBgitglossary\fR(7) مراجعه فرمایید\&. .RE .PP \fB\-n\fR, \fB\-\-dry\-run\fR .RS 4 فایل(ها) را واقعاً اضافه نمی‌کند، بلکه تنها نشان می‌دهد که آیا وجود دارند و/یا نادیده گرفته خواهند شد یا خیر\&. .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 نمایش خروجی با جزئیات کامل\&. .RE .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 اجازه افزودن فایل‌هایی که در غیر این صورت نادیده گرفته می‌شدند را می‌دهد\&. این گزینه همچنین زمانی به کار می‌رود که \fBsubmodule\&.\fR\fI\fR\fB\&.ignore=all\fR تنظیم شده باشد، اما می‌خواهید به‌روزرسانی زیرماژول را آماده‌سازی (stage) کنید\&. \fBpath\fR به زیرماژول باید به طور صریح مشخص شود\&. .RE .PP \fB\-\-sparse\fR .RS 4 امکان به‌روزرسانی مدخل‌های ایندکس خارج از مخروط sparse\-checkout را فراهم می‌کند\&. به طور معمول، \fBgit\fR \fBadd\fR از به‌روزرسانی مدخل‌های ایندکسی که مسیر آن‌ها در مخروط sparse\-checkout نمی‌گنجد خودداری می‌کند، زیرا ممکن است آن فایل‌ها بدون هشدار از درخت کاری حذف شوند\&. برای جزئیات بیشتر به \fBgit-sparse-checkout\fR(1) مراجعه کنید\&. .RE .PP \fB\-i\fR, \fB\-\-interactive\fR .RS 4 محتویات تغییریافته در درخت کاری را به صورت تعاملی به ایندکس اضافه می‌کند\&. می‌توان آرگومان‌های مسیر اختیاری را برای محدود کردن عملیات به زیرمجموعه‌ای از درخت کاری ارائه داد\&. برای جزئیات به «حالت تعاملی» مراجعه کنید\&. .RE .PP \fB\-p\fR, \fB\-\-patch\fR .RS 4 تکه‌تغییرات (hunks) وصله بین ایندکس و درخت کاری را به صورت تعاملی انتخاب کرده و آن‌ها را به ایندکس اضافه می‌کند\&. این به کاربر امکان می‌دهد پیش از افزودن محتویات اصلاح‌شده به ایندکس، تفاوت‌ها را بررسی کند\&. .sp این گزینه عملاً دستور \fBadd\fR \fB\-\-interactive\fR را اجرا می‌کند، اما منوی دستورات اولیه را نادیده گرفته و مستقیماً به زیردستور \fBpatch\fR پرش می‌کند\&. برای جزئیات به «حالت تعاملی» مراجعه فرمایید\&. .RE .PP \fB\-U\fR\fI\fR, \fB\-\-unified=\fR\fI\fR .RS 4 تولید تفاوت‌ها (diffs) با \fI\fR خط از متن بافت پیرامون (context)\&. تعداد خطوط بافت به صورت پیش‌فرض برابر با \fBdiff\&.context\fR یا در صورت تنظیم نشدن این متغیر پیکربندی، ۳ خط است\&. (گزینه \fB\-U\fR بدون \fI\fR به دلیل یک اتفاق تاریخی، بی‌صدا به عنوان معادل \fB\-p\fR پذیرفته می‌شود)\&. .RE .PP \fB\-\-inter\-hunk\-context=\fR\fI\fR .RS 4 نمایش متن بافت بین تکه‌تغییرات دیف، تا سقف تعداد خطوط مشخص‌شده \fI\fR، و در نتیجه یکی کردن تکه‌تغییراتی که به یکدیگر نزدیک هستند\&. مقدار پیش‌فرض آن \fBdiff\&.interHunkContext\fR یا در صورت تنظیم نشدن گزینه پیکربندی، برابر ۰ است\&. .RE .PP \fB\-e\fR, \fB\-\-edit\fR .RS 4 باز کردن تفاوت‌ها در برابر ایندکس درون یک ویرایشگر تا کاربر بتواند آن را ویرایش کند\&. پس از بسته شدن ویرایشگر، هدرهای تکه‌تغییرات تنظیم شده و وصله روی ایندکس اعمال می‌گردد\&. .sp هدف از این گزینه، انتخاب خطوط مشخصی از وصله برای اعمال، یا حتی تغییر دادن محتوای خطوطی است که قرار است آماده‌سازی (stage) شوند\&. این کار می‌تواند سریع‌تر و انعطاف‌پذیرتر از استفاده از انتخابگر تعاملی تکه‌تغییرات باشد\&. با این حال، سردرگم شدن و ایجاد وصله‌ای که نتوان آن را روی ایندکس اعمال کرد بسیار آسان است\&. به بخش «ویرایش پچ‌ها» در زیر مراجعه فرمایید\&. .RE .PP \fB\-u\fR, \fB\-\-update\fR .RS 4 ایندکس را تنها در جاهایی که از قبل مدخلی منطبق با \fI\fR دارد به‌روزرسانی می‌کند\&. این کار مدخل‌های ایندکس را حذف و همچنین اصلاح می‌کند تا با درخت کاری مطابقت یابد، اما فایل جدیدی اضافه نمی‌کند\&. .sp چنانچه هنگام استفاده از گزینه \fB\-u\fR هیچ \fI\fR مشخص نشده باشد، تمام فایل‌های ردیابی‌شده در کل درخت کاری به‌روزرسانی می‌شوند (نسخه‌های قدیمی گیت به‌روزرسانی را به دایرکتوری جاری و زیردایرکتوری‌های آن محدود می‌کردند)\&. .RE .PP \fB\-A\fR, \fB\-\-all\fR, \fB\-\-no\-ignore\-removal\fR .RS 4 ایندکس را نه تنها در جاهایی که درخت کاری فایلی منطبق با \fI\fR دارد، بلکه در جاهایی که ایندکس از قبل دارای مدخلی است نیز به‌روزرسانی می‌کند\&. این گزینه مدخل‌های ایندکس را برای تطبیق با درخت کاری اضافه، اصلاح و حذف می‌کند\&. .sp چنانچه هنگام استفاده از گزینه \fB\-A\fR هیچ \fI\fR مشخص نشده باشد، تمام فایل‌های موجود در کل درخت کاری به‌روزرسانی می‌شوند (نسخه‌های قدیمی گیت به‌روزرسانی را به دایرکتوری جاری و زیردایرکتوری‌های آن محدود می‌کردند)\&. .RE .PP \fB\-\-no\-all\fR, \fB\-\-ignore\-removal\fR .RS 4 به‌روزرسانی ایندکس با افزودن فایل‌های جدیدی که برای ایندکس ناشناخته هستند و فایل‌هایی که در درخت کاری اصلاح شده‌اند، اما نادیده گرفتن فایل‌هایی که از درخت کاری حذف شده‌اند\&. این گزینه زمانی که هیچ \fI\fR استفاده نشده باشد بی‌اثر (no\-op) است\&. .sp این گزینه در درجه اول برای کمک به کاربرانی است که به نسخه‌های قدیمی‌تر گیت عادت دارند، که در آن‌ها \fBgit\fR \fBadd\fR \fI\fR\&.\&.\&. مترادفی برای \fBgit\fR \fBadd\fR \fB\-\-no\-all\fR \fI\fR\&.\&.\&. بود، یعنی فایل‌های حذف‌شده را نادیده می‌گرفت\&. .RE .PP \fB\-N\fR, \fB\-\-intent\-to\-add\fR .RS 4 تنها این واقعیت را ثبت می‌کند که مسیر بعداً اضافه خواهد شد\&. یک مدخل برای این مسیر بدون هیچ محتوایی در ایندکس قرار داده می‌شود\&. این کار از جمله برای نمایش محتوای آماده‌نشده (unstaged) چنین فایل‌هایی با \fBgit\fR \fBdiff\fR و کامیت کردن آن‌ها با \fBgit\fR \fBcommit\fR \fB\-a\fR مفید است\&. .RE .PP \fB\-\-refresh\fR .RS 4 فایل(ها) را اضافه نمی‌کند، بلکه تنها اطلاعات stat() آن‌ها را در ایندکس تازه‌سازی می‌کند\&. .RE .PP \fB\-\-ignore\-errors\fR .RS 4 اگر برخی از فایل‌ها به دلیل خطا در ایندکس‌گذاری اضافه نشدند، عملیات را لغو نکنید، بلکه به افزودن سایر فایل‌ها ادامه دهید\&. دستور همچنان با وضعیت غیرصفر خارج خواهد شد\&. متغیر پیکربندی \fBadd\&.ignoreErrors\fR را می‌توان روی true تنظیم کرد تا این رفتار به صورت پیش‌فرض درآید\&. .RE .PP \fB\-\-ignore\-missing\fR .RS 4 این گزینه تنها همراه با \fB\-\-dry\-run\fR قابل استفاده است\&. با استفاده از این گزینه، کاربر می‌تواند بررسی کند که آیا هر یک از فایل‌های مشخص‌شده نادیده گرفته می‌شوند یا خیر، صرف نظر از اینکه در حال حاضر در درخت کاری وجود دارند یا نه\&. .RE .PP \fB\-\-no\-warn\-embedded\-repo\fR .RS 4 به طور پیش‌فرض، \fBgit\fR \fBadd\fR هنگام افزودن یک مخزن جاسازی‌شده به ایندکس بدون استفاده از \fBgit\fR \fBsubmodule\fR \fBadd\fR برای ایجاد یک مدخل در \fB\&.gitmodules\fR، هشدار خواهد داد\&. این گزینه این هشدار را بی‌اثر و سرکوب می‌کند (برای مثال، اگر به صورت دستی در حال انجام عملیات روی زیرماژول‌ها هستید)\&. .RE .PP \fB\-\-renormalize\fR .RS 4 فرآیند «clean» را مجدداً روی تمامی فایل‌های ردیابی‌شده اعمال می‌کند تا آن‌ها را به اجبار دوباره به ایندکس اضافه کند\&. این کار پس از تغییر پیکربندی \fBcore\&.autocrlf\fR یا ویژگی \fBtext\fR برای اصلاح فایل‌هایی که با پایانه‌های خط نادرست \fICRLF/LF\fR اضافه شده‌اند مفید است\&. این گزینه متضمن \fB\-u\fR است\&. نویسه‌های منفرد CR دست‌نخورده باقی می‌مانند، بنابراین در حالی که یک \fICRLF\fR به \fILF\fR تبدیل و پاکسازی می‌شود، توالی \fICRCRLF\fR تنها تا حدی به \fICRLF\fR پاکسازی می‌گردد\&. .RE .PP \fB\-\-chmod=\fR(\fB+\fR|\fB\-\fR)\fBx\fR .RS 4 بیت اجرایی (executable bit) فایل‌های اضافه‌شده را تغییر می‌دهد و جایگزین می‌کند\&. بیت اجرایی تنها در ایندکس تغییر می‌یابد و فایل‌های روی دیسک بدون تغییر باقی می‌مانند\&. .RE .PP \fB\-\-pathspec\-from\-file=\fR\fI\fR .RS 4 الگوی مسیر (pathspec) به جای آرگومان‌های خط فرمان، از طریق \fI\fR ارسال می‌شود\&. اگر \fI\fR دقیقاً \fB\-\fR باشد، ورودی استاندارد استفاده می‌شود\&. عناصر pathspec با \fILF\fR یا \fICR/LF\fR از هم جدا می‌شوند\&. عناصر pathspec را می‌توان همان‌طور که برای متغیر پیکربندی \fBcore\&.quotePath\fR توضیح داده شده نقل‌قول کرد (به \fBgit-config\fR(1) مراجعه کنید)\&. همچنین به \fB\-\-pathspec\-file\-nul\fR و گزینه سراسری \fB\-\-literal\-pathspecs\fR مراجعه کنید\&. .RE .PP \fB\-\-pathspec\-file\-nul\fR .RS 4 تنها همراه با \fB\-\-pathspec\-from\-file\fR معنادار است\&. عناصر pathspec با نویسه \fINUL\fR جدا می‌شوند و سایر نویسه‌ها به صورت تحت‌اللفظی در نظر گرفته می‌شوند (شامل خطوط جدید و علامت‌های نقل‌قول)\&. .RE .PP \fB\-\-\fR .RS 4 از این گزینه می‌توان برای جداسازی گزینه‌های خط فرمان از فهرست فایل‌ها استفاده کرد (زمانی مفید است که ممکن است نام فایل‌ها با گزینه‌های خط فرمان اشتباه گرفته شوند)\&. .RE .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} افزودن محتوا از تمامی فایل‌های \fB*\&.txt\fR تحت دایرکتوری \fBDocumentation\fR و زیردایرکتوری‌های آن: .sp .if n \{\ .RS 4 .\} .nf $ git add Documentation/\e*\&.txt .fi .if n \{\ .RE .\} .sp توجه داشته باشید که در این مثال، علامت ستاره \fB*\fR از دید شل اسکیپ و نقل‌قول شده است؛ این کار به دستور اجازه می‌دهد فایل‌های موجود در زیردایرکتوری‌های دایرکتوری \fBDocumentation/\fR را نیز در بر گیرد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} در نظر گرفتن افزودن محتوا از تمامی اسکریپت‌های \fBgit\-*\&.sh\fR: .sp .if n \{\ .RS 4 .\} .nf $ git add git\-*\&.sh .fi .if n \{\ .RE .\} .sp از آنجا که در این مثال به شل اجازه داده می‌شود علامت ستاره را بسط دهد (یعنی شما فایل‌ها را به طور صریح فهرست می‌کنید)، فایل \fBsubdir/git\-foo\&.sh\fR در نظر گرفته نمی‌شود\&. .RE .SH "حالت تعاملی (INTERACTIVE MODE)" .sp هنگامی که دستور وارد حالت تعاملی می‌شود، خروجی زیردستور \fIstatus\fR را نمایش داده و سپس وارد حلقه دستورات تعاملی خود می‌شود\&. .sp حلقه دستورات فهرستی از زیردستورهای موجود را نشان داده و اعلان "What now> " را ارائه می‌دهد\&. به طور کلی، هنگامی که اعلان با یک علامت \fI>\fR منفرد پایان می‌یابد، تنها می‌توانید یکی از گزینه‌های ارائه‌شده را انتخاب کرده و کلید Return (اینتر) را فشار دهید، مانند زیر: .sp .if n \{\ .RS 4 .\} .nf *** Commands *** 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help What now> 1 .fi .if n \{\ .RE .\} .sp .sp شما همچنین می‌توانید تا زمانی که انتخاب یکتا باشد، \fBs\fR یا \fBsta\fR یا \fBstatus\fR را در بالا وارد کنید\&. .sp حلقه اصلی دستور دارای ۶ زیردستور است (به علاوه help و quit)\&. .PP status .RS 4 این زیردستور تغییرات بین \fBHEAD\fR و ایندکس (یعنی آنچه در صورت اجرای \fBgit\fR \fBcommit\fR کامیت خواهد شد)، و بین فایل‌های ایندکس و درخت کاری (یعنی آنچه پیش از اجرای \fBgit\fR \fBcommit\fR با استفاده از \fBgit\fR \fBadd\fR می‌توانید بیشتر آماده‌سازی کنید) را برای هر مسیر نمایش می‌دهد\&. یک نمونه خروجی به شکل زیر است: .sp .if n \{\ .RS 4 .\} .nf staged unstaged path 1: binary nothing foo\&.png 2: +403/\-35 +1/\-1 add\-interactive\&.c .fi .if n \{\ .RE .\} .sp این خروجی نشان می‌دهد که \fBfoo\&.png\fR دارای تفاوت‌هایی نسبت به \fBHEAD\fR است (اما به دلیل باینری بودن، تعداد خطوط قابل نمایش نیست) و هیچ تفاوتی بین نسخه ایندکس‌شده و نسخه درخت کاری وجود ندارد (اگر نسخه درخت کاری نیز متفاوت بود، به جای \fInothing\fR، کلمه \fIbinary\fR نمایش داده می‌شد)\&. فایل دیگر، \fBadd\-interactive\&.c\fR، در صورت کامیت کردن آنچه در ایندکس است دارای ۴۰۳ خط اضافه‌شده و ۳۵ خط حذف‌شده است، اما فایل موجود در درخت کاری اصلاحات بیشتری دارد (یک افزودن و یک حذف)\&. .RE .PP update .RS 4 این زیردستور اطلاعات وضعیت را نشان داده و اعلان "Update>>" را صادر می‌کند\&. هنگامی که اعلان با دو علامت \fI>>\fR به پایان می‌رسد، می‌توانید بیش از یک انتخاب داشته باشید که با فاصله خالی یا کاما به هم متصل شده‌اند\&. همچنین می‌توانید بازه‌ها را مشخص کنید؛ برای مثال "2\-5 7,9" برای انتخاب 2، 3، 4، 5، 7، 9 از لیست\&. اگر عدد دوم در یک بازه حذف شود، تمامی وصله‌های باقی‌مانده در نظر گرفته می‌شوند؛ برای مثال "7\-" برای انتخاب 7، 8، 9 از لیست\&. می‌توانید \fI*\fR را برای انتخاب همه چیز وارد کنید\&. .sp آنچه انتخاب کرده‌اید با \fI*\fR برجسته می‌شود، مانند زیر: .sp .if n \{\ .RS 4 .\} .nf staged unstaged path 1: binary nothing foo\&.png * 2: +403/\-35 +1/\-1 add\-interactive\&.c .fi .if n \{\ .RE .\} .sp برای لغو انتخاب، ورودی را با پیشوند \fB\-\fR وارد کنید، مانند زیر: .sp .if n \{\ .RS 4 .\} .nf Update>> \-2 .fi .if n \{\ .RE .\} .sp پس از انجام انتخاب، با یک خط خالی پاسخ دهید تا محتویات فایل‌های درخت کاری برای مسیرهای انتخاب‌شده در ایندکس آماده‌سازی (stage) شوند\&. .RE .PP revert .RS 4 این زیردستور رابط کاربری بسیار مشابهی با \fIupdate\fR دارد، و اطلاعات آماده‌شده برای مسیرهای انتخاب‌شده به نسخه HEAD بازگردانده می‌شوند\&. بازگرداندن مسیرهای جدید، آن‌ها را به مسیرهای ردیابی‌نشده (untracked) تبدیل می‌کند\&. .RE .PP add untracked .RS 4 این زیردستور رابط کاربری بسیار مشابهی با \fIupdate\fR و \fIrevert\fR دارد و به شما امکان می‌دهد مسیرهای ردیابی‌نشده را به ایندکس اضافه کنید\&. .RE .PP patch .RS 4 این زیردستور به شما امکان می‌دهد یک مسیر را از میان انتخابی شبیه به \fIstatus\fR برگزینید\&. پس از انتخاب مسیر، دیف بین فایل ایندکس و فایل درخت کاری را نمایش می‌دهد و از شما می‌پرسد که آیا می‌خواهید تغییرات هر تکه‌تغییر (hunk) را آماده‌سازی کنید یا خیر\&. می‌توانید یکی از گزینه‌های زیر را انتخاب کرده و کلید Return (اینتر) را فشار دهید: .sp .if n \{\ .RS 4 .\} .nf y \- stage this hunk n \- do not stage this hunk q \- quit; do not stage this hunk or any of the remaining ones a \- stage this hunk and all later hunks in the file d \- do not stage this hunk or any of the later hunks in the file g \- select a hunk to go to / \- search for a hunk matching the given regex j \- go to the next undecided hunk, roll over at the bottom J \- go to the next hunk, roll over at the bottom k \- go to the previous undecided hunk, roll over at the top K \- go to the previous hunk, roll over at the top s \- split the current hunk into smaller hunks e \- manually edit the current hunk p \- print the current hunk P \- print the current hunk using the pager ? \- print help .fi .if n \{\ .RE .\} .sp پس از تصمیم‌گیری درباره سرنوشت تمام تکه‌تغییرات، در صورتی که تکه‌ای انتخاب شده باشد، ایندکس با تکه‌تغییرات انتخاب‌شده به‌روزرسانی می‌شود\&. .sp می‌توانید با تنظیم متغیر پیکربندی \fBinteractive\&.singleKey\fR روی \fBtrue\fR، از لزوم فشردن کلید Return در اینجا صرف‌نظر کنید\&. .RE .PP diff .RS 4 این زیردستور به شما امکان می‌دهد آنچه را که کامیت خواهد شد (یعنی تفاوت بین \fBHEAD\fR و ایندکس) بررسی و بازبینی کنید\&. .RE .SH "ویرایش پچ‌ها (EDITING PATCHES)" .sp اجرای \fBgit\fR \fBadd\fR \fB\-e\fR یا انتخاب \fBe\fR از انتخابگر تعاملی تکه‌تغییرات، یک وصله (patch) را در ویرایشگر شما باز خواهد کرد؛ پس از خروج از ویرایشگر، نتیجه روی ایندکس اعمال می‌شود\&. شما مجازید تغییرات دلخواهی در وصله ایجاد کنید، اما توجه داشته باشید که برخی تغییرات ممکن است نتایج گیج‌کننده‌ای داشته باشند یا حتی منجر به وصله‌ای شوند که اعمال آن غیرممکن باشد\&. اگر می‌خواهید عملیات را به طور کامل لغو کنید (یعنی هیچ چیز جدیدی در ایندکس آماده‌سازی نشود)، به سادگی تمام خطوط وصله را حذف کنید\&. فهرست زیر برخی از موارد رایجی را که ممکن است در یک وصله ببینید و عملیات ویرایشی که روی آن‌ها منطقی است را توصیف می‌کند\&. .PP added content .RS 4 محتوای اضافه‌شده با خطوطی که با "+" آغاز می‌شوند نشان داده می‌شود\&. شما می‌توانید با حذف این خطوط، از آماده‌سازی هرگونه خطوط اضافه شده جلوگیری کنید\&. .RE .PP removed content .RS 4 محتوای حذف‌شده با خطوطی که با "\-" آغاز می‌شوند نشان داده می‌شود\&. شما می‌توانید با تبدیل "\-" به " " (فاصله)، از آماده‌سازی حذف آن‌ها جلوگیری نمایید\&. .RE .PP modified content .RS 4 محتوای اصلاح‌شده با خطوط "\-" (حذف محتوای قدیمی) و به دنبال آن خطوط "+" (افزودن محتوای جایگزین) نشان داده می‌شود\&. شما می‌توانید با تبدیل خطوط "\-" به " " و حذف خطوط "+"، از آماده‌سازی این اصلاح جلوگیری کنید\&. توجه داشته باشید که تغییر تنها یکی از اعضای این جفت، احتمالاً تغییرات گیج‌کننده‌ای در ایندکس ایجاد خواهد کرد\&. .RE .sp همچنین عملیات پیچیده‌تری وجود دارند که می‌توان انجام داد\&. اما مراقب باشید که چون وصله تنها روی ایندکس اعمال می‌شود و نه روی درخت کاری، به نظر می‌رسد که درخت کاری تغییرات ایندکس را «خنثی» (undo) می‌کند\&. برای مثال، وارد کردن یک خط جدید به ایندکس که نه در \fBHEAD\fR و نه در درخت کاری وجود دارد، خط جدید را برای کامیت آماده می‌کند، اما این خط در درخت کاری به صورت واگردانی‌شده (reverted) به نظر خواهد رسید\&. .sp از استفاده از این ساختارها خودداری کنید، یا با احتیاط فوق‌العاده این کار را انجام دهید\&. .PP removing untouched content .RS 4 محتوایی که بین ایندکس و درخت کاری تفاوتی ندارد ممکن است در خطوط بافت (context) نمایش داده شود که با یک " " (فاصله) آغاز می‌شوند\&. شما می‌توانید با تبدیل فاصله به "\-"، خطوط بافت را برای حذف آماده‌سازی کنید\&. فایل حاصل در درخت کاری به گونه‌ای نمایش می‌یابد که گویی این محتوا را دوباره اضافه می‌کند\&. .RE .PP modifying existing content .RS 4 همچنین می‌توان با آماده‌سازی خطوط بافت برای حذف (با تبدیل " " به "\-") و افزودن یک خط "+" با محتوای جدید، آن‌ها را اصلاح کرد\&. به همین ترتیب، می‌توان خطوط "+" مربوط به اضافات یا اصلاحات موجود را تغییر داد\&. در تمامی موارد، اصلاح جدید در درخت کاری به صورت واگردانی‌شده به نظر می‌رسد\&. .RE .PP new content .RS 4 شما همچنین می‌توانید محتوای جدیدی اضافه کنید که در وصله وجود ندارد؛ کافی است خطوط جدیدی اضافه کنید که هر یک با "+" آغاز شوند\&. مورد اضافه شده در درخت کاری به صورت واگردانی‌شده به نظر خواهد رسید\&. .RE .sp همچنین چندین عملیات وجود دارد که باید کاملاً از آن‌ها اجتناب شود، چرا که اعمال وصله را غیرممکن می‌سازند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} افزودن خطوط بافت (" ") یا خطوط حذف ("\-") .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} حذف خطوط بافت یا خطوط حذف .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اصلاح محتوای خطوط بافت یا خطوط حذف .RE .SH "پیکربندی (CONFIGURATION)" .sp تمام موارد زیر این خط در این بخش به طور گزینشی از مستندات \fBgit-config\fR(1) گنجانده شده است\&. محتوای آن همان چیزی است که در آنجا یافت می‌شود: .PP \fBadd\&.ignoreErrors\fR, \fBadd\&.ignore\-errors\fR (منسوخ‌شده) .RS 4 به \fBgit\fR \fBadd\fR دستور می‌دهد زمانی که برخی از فایل‌ها به دلیل خطاهای ایندکس‌گذاری نمی‌توانند اضافه شوند، به افزودن فایل‌ها ادامه دهد\&. معادل با گزینه \fB\-\-ignore\-errors\fR است\&. گزینه \fBadd\&.ignore\-errors\fR منسوخ شده است، زیرا از قرارداد نام‌گذاری معمول برای متغیرهای پیکربندی پیروی نمی‌کند\&. .RE .SH "همچنین ببینید (SEE ALSO)" .sp \fBgit-status\fR(1) \fBgit-rm\fR(1) \fBgit-reset\fR(1) \fBgit-mv\fR(1) \fBgit-commit\fR(1) \fBgit-update-index\fR(1) .SH "گیت (GIT)" .sp بخشی از مجموعه \fBgit\fR(1)