git-add - افزودن
محتویات
فایل به
ایندکس
git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p]
[--edit | -e] [--[no-]all | -A | --[no-]ignore-removal | [--update | -u]] [--sparse]
[--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize]
[--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]]
[--] [<pathspec>...]
محتویات
فایلهای
جدید یا
تغییریافته
را به
ایندکس
اضافه
میکند.
«ایندکس»
(که به عنوان
«محیط
آمادهسازی»
یا «staging area» نیز
شناخته
میشود)
فضایی است
که برای
آمادهسازی
محتویات
کامیت بعدی
از آن
استفاده
میکنید.
هنگامی که
دستور git commit
را بدون هیچ
آرگومان
دیگری اجرا
میکنید،
تنها
تغییرات
آمادهشده
(staged) را کامیت
خواهد کرد.
برای مثال،
اگر file.c را
ویرایش
کردهاید و
میخواهید
تغییرات آن
فایل را
کامیت
کنید،
میتوانید
دستورات
زیر را اجرا
نمایید:
git add file.c
git commit
همچنین
میتوانید
با استفاده
از git add -p
تنها بخشی
از تغییرات
اعمالشده
در یک فایل
را اضافه
کنید.
این دستور
را میتوان
چندین بار
پیش از یک
کامیت اجرا
کرد. این
دستور تنها
محتویات
فایل(های)
مشخصشده
را در همان
لحظه اجرای
دستور add
اضافه
میکند؛
چنانچه
مایلید
تغییرات
بعدی نیز در
کامیت بعدی
گنجانده
شوند، باید
git add را
مجدداً
اجرا کنید
تا محتوای
جدید به
ایندکس
افزوده
شود.
دستور git status
میتواند
برای
دریافت
خلاصهای
از اینکه
کدام
فایلها
دارای
تغییراتی
هستند که
برای کامیت
بعدی آماده
شدهاند،
استفاده
شود.
دستور git add
به طور
پیشفرض
فایلهای
نادیدهگرفتهشده
(ignored) را اضافه
نخواهد کرد.
میتوانید
از گزینه --force
برای
افزودن
فایلهای
نادیدهگرفتهشده
استفاده
کنید. اگر
نام دقیق یک
فایل
نادیدهگرفتهشده
را مشخص
کنید، git add
با نمایش
فهرستی از
فایلهای
نادیدهگرفتهشده
با خطا
متوقف
خواهد شد. در
غیر این
صورت، این
فایل را
بیصدا
نادیده
میگیرد.
لطفاً
برای
روشهای
جایگزین
افزودن
محتوا به یک
کامیت، به
git-commit(1) مراجعه
کنید.
<pathspec>...
فایلهایی
که قرار است
محتوای
آنها
اضافه شود.
الگوهای
تطبیق نام
فایل (مانند
*.c) را
میتوان
برای
افزودن همه
فایلهای
منطبق وارد
کرد. همچنین
یک نام
دایرکتوری
در ابتدا
(مانند
dir
برای
افزودن
dir/file1 و
dir/file2) را
میتوان
مشخص کرد تا
ایندکس
بهگونهای
بهروزرسانی
شود که با
وضعیت فعلی
کل آن
دایرکتوری
مطابقت
داشته باشد
(برای مثال،
مشخص کردن
dir
نه تنها
فایلی
مانند
dir/file1 که
در درخت
کاری تغییر
یافته و
فایلی
مانند
dir/file2 که
به درخت
کاری اضافه
شده، بلکه
فایلی
مانند
dir/file3 که
از درخت
کاری حذف
شده است را
نیز ثبت
میکند).
توجه داشته
باشید که
نسخههای
قدیمیتر
گیت
فایلهای
حذفشده را
نادیده
میگرفتند؛
چنانچه
میخواهید
فایلهای
تغییریافته
یا جدید را
اضافه کنید
اما موارد
حذفشده را
نادیده
بگیرید، از
گزینه
--no-all
استفاده
نمایید.
برای
جزئیات
بیشتر
درباره نحو
<pathspec>، به
مدخل pathspec در
gitglossary(7) مراجعه
فرمایید.
-n, --dry-run
فایل(ها)
را واقعاً
اضافه
نمیکند،
بلکه تنها
نشان
میدهد که
آیا وجود
دارند و/یا
نادیده
گرفته
خواهند شد
یا خیر.
-v, --verbose
نمایش
خروجی با
جزئیات
کامل.
-f, --force
اجازه
افزودن
فایلهایی
که در غیر
این صورت
نادیده
گرفته
میشدند را
میدهد. این
گزینه
همچنین
زمانی به
کار میرود
که submodule.<name>.ignore=all
تنظیم شده
باشد، اما
میخواهید
بهروزرسانی
زیرماژول
را
آمادهسازی
(stage) کنید. path به
زیرماژول
باید به طور
صریح مشخص
شود.
--sparse
امکان
بهروزرسانی
مدخلهای
ایندکس
خارج از
مخروط sparse-checkout را
فراهم
میکند. به
طور معمول،
git add از
بهروزرسانی
مدخلهای
ایندکسی که
مسیر آنها
در مخروط sparse-checkout
نمیگنجد
خودداری
میکند،
زیرا ممکن
است آن
فایلها
بدون هشدار
از درخت
کاری حذف
شوند. برای
جزئیات
بیشتر به
git-sparse-checkout(1) مراجعه
کنید.
-i, --interactive
محتویات
تغییریافته
در درخت
کاری را به
صورت
تعاملی به
ایندکس
اضافه
میکند.
میتوان
آرگومانهای
مسیر
اختیاری را
برای محدود
کردن
عملیات به
زیرمجموعهای
از درخت
کاری ارائه
داد. برای
جزئیات به
«حالت
تعاملی»
مراجعه
کنید.
-p, --patch
تکهتغییرات
(hunks) وصله بین
ایندکس و
درخت کاری
را به صورت
تعاملی
انتخاب
کرده و
آنها را به
ایندکس
اضافه
میکند. این
به کاربر
امکان
میدهد پیش
از افزودن
محتویات
اصلاحشده
به ایندکس،
تفاوتها
را بررسی
کند.
این گزینه
عملاً
دستور add --interactive
را اجرا
میکند،
اما منوی
دستورات
اولیه را
نادیده
گرفته و
مستقیماً
به
زیردستور
patch پرش
میکند.
برای
جزئیات به
«حالت
تعاملی»
مراجعه
فرمایید.
-U<n>, --unified=<n>
تولید
تفاوتها (diffs)
با <n> خط از
متن بافت
پیرامون (context).
تعداد خطوط
بافت به
صورت
پیشفرض
برابر با diff.context
یا در صورت
تنظیم نشدن
این متغیر
پیکربندی،
۳ خط است.
(گزینه -U
بدون <n> به
دلیل یک
اتفاق
تاریخی،
بیصدا به
عنوان
معادل -p
پذیرفته
میشود).
--inter-hunk-context=<n>
نمایش
متن بافت
بین
تکهتغییرات
دیف، تا سقف
تعداد خطوط
مشخصشده
<number>، و در
نتیجه یکی
کردن
تکهتغییراتی
که به
یکدیگر
نزدیک
هستند.
مقدار
پیشفرض آن
diff.interHunkContext یا در
صورت تنظیم
نشدن گزینه
پیکربندی،
برابر ۰
است.
-e, --edit
باز کردن
تفاوتها
در برابر
ایندکس
درون یک
ویرایشگر
تا کاربر
بتواند آن
را ویرایش
کند. پس از
بسته شدن
ویرایشگر،
هدرهای
تکهتغییرات
تنظیم شده و
وصله روی
ایندکس
اعمال
میگردد.
هدف از این
گزینه،
انتخاب
خطوط مشخصی
از وصله
برای
اعمال، یا
حتی تغییر
دادن
محتوای
خطوطی است
که قرار است
آمادهسازی
(stage) شوند. این
کار
میتواند
سریعتر و
انعطافپذیرتر
از استفاده
از
انتخابگر
تعاملی
تکهتغییرات
باشد. با این
حال،
سردرگم شدن
و ایجاد
وصلهای که
نتوان آن را
روی ایندکس
اعمال کرد
بسیار آسان
است. به بخش
«ویرایش
پچها» در
زیر مراجعه
فرمایید.
-u, --update
ایندکس
را تنها در
جاهایی که
از قبل
مدخلی
منطبق با
<pathspec> دارد
بهروزرسانی
میکند. این
کار
مدخلهای
ایندکس را
حذف و
همچنین
اصلاح
میکند تا
با درخت
کاری
مطابقت
یابد، اما
فایل جدیدی
اضافه
نمیکند.
چنانچه
هنگام
استفاده از
گزینه -u هیچ
<pathspec> مشخص
نشده باشد،
تمام
فایلهای
ردیابیشده
در کل درخت
کاری
بهروزرسانی
میشوند
(نسخههای
قدیمی گیت
بهروزرسانی
را به
دایرکتوری
جاری و
زیردایرکتوریهای
آن محدود
میکردند).
-A, --all, --no-ignore-removal
ایندکس
را نه تنها
در جاهایی
که درخت
کاری فایلی
منطبق با
<pathspec> دارد،
بلکه در
جاهایی که
ایندکس از
قبل دارای
مدخلی است
نیز
بهروزرسانی
میکند. این
گزینه
مدخلهای
ایندکس را
برای تطبیق
با درخت
کاری
اضافه،
اصلاح و حذف
میکند.
چنانچه
هنگام
استفاده از
گزینه -A هیچ
<pathspec> مشخص
نشده باشد،
تمام
فایلهای
موجود در کل
درخت کاری
بهروزرسانی
میشوند
(نسخههای
قدیمی گیت
بهروزرسانی
را به
دایرکتوری
جاری و
زیردایرکتوریهای
آن محدود
میکردند).
--no-all, --ignore-removal
بهروزرسانی
ایندکس با
افزودن
فایلهای
جدیدی که
برای
ایندکس
ناشناخته
هستند و
فایلهایی
که در درخت
کاری اصلاح
شدهاند،
اما نادیده
گرفتن
فایلهایی
که از درخت
کاری حذف
شدهاند.
این گزینه
زمانی که
هیچ
<pathspec>
استفاده
نشده باشد
بیاثر (no-op)
است.
این گزینه
در درجه اول
برای کمک به
کاربرانی
است که به
نسخههای
قدیمیتر
گیت عادت
دارند، که
در آنها git
add <pathspec>...
مترادفی
برای git add --no-all
<pathspec>... بود،
یعنی
فایلهای
حذفشده را
نادیده
میگرفت.
-N, --intent-to-add
تنها این
واقعیت را
ثبت میکند
که مسیر
بعداً
اضافه
خواهد شد. یک
مدخل برای
این مسیر
بدون هیچ
محتوایی در
ایندکس
قرار داده
میشود. این
کار از جمله
برای نمایش
محتوای
آمادهنشده
(unstaged) چنین
فایلهایی
با git diff و
کامیت کردن
آنها با git
commit -a مفید
است.
--refresh
فایل(ها)
را اضافه
نمیکند،
بلکه تنها
اطلاعات stat()
آنها را در
ایندکس
تازهسازی
میکند.
--ignore-errors
اگر برخی
از فایلها
به دلیل خطا
در
ایندکسگذاری
اضافه
نشدند،
عملیات را
لغو نکنید،
بلکه به
افزودن
سایر
فایلها
ادامه دهید.
دستور
همچنان با
وضعیت
غیرصفر
خارج خواهد
شد. متغیر
پیکربندی
add.ignoreErrors را
میتوان
روی true تنظیم
کرد تا این
رفتار به
صورت
پیشفرض
درآید.
--ignore-missing
این
گزینه تنها
همراه با --dry-run
قابل
استفاده
است. با
استفاده از
این گزینه،
کاربر
میتواند
بررسی کند
که آیا هر یک
از
فایلهای
مشخصشده
نادیده
گرفته
میشوند یا
خیر، صرف
نظر از
اینکه در
حال حاضر در
درخت کاری
وجود دارند
یا نه.
--no-warn-embedded-repo
به طور
پیشفرض، git
add هنگام
افزودن یک
مخزن
جاسازیشده
به ایندکس
بدون
استفاده از
git submodule add برای
ایجاد یک
مدخل در .gitmodules،
هشدار
خواهد داد.
این گزینه
این هشدار
را بیاثر و
سرکوب
میکند
(برای مثال،
اگر به صورت
دستی در حال
انجام
عملیات روی
زیرماژولها
هستید).
--renormalize
فرآیند
«clean» را
مجدداً روی
تمامی
فایلهای
ردیابیشده
اعمال
میکند تا
آنها را به
اجبار
دوباره به
ایندکس
اضافه کند.
این کار پس
از تغییر
پیکربندی
core.autocrlf یا ویژگی
text برای
اصلاح
فایلهایی
که با
پایانههای
خط نادرست
CRLF/LF اضافه
شدهاند
مفید است.
این گزینه
متضمن -u است.
نویسههای
منفرد CR
دستنخورده
باقی
میمانند،
بنابراین
در حالی که
یک CRLF به LF
تبدیل و
پاکسازی
میشود،
توالی CRCRLF
تنها تا حدی
به CRLF
پاکسازی
میگردد.
--chmod=(+|-)x
بیت
اجرایی (executable bit)
فایلهای
اضافهشده
را تغییر
میدهد و
جایگزین
میکند. بیت
اجرایی
تنها در
ایندکس
تغییر
مییابد و
فایلهای
روی دیسک
بدون تغییر
باقی
میمانند.
--pathspec-from-file=<file>
الگوی
مسیر (pathspec) به
جای
آرگومانهای
خط فرمان،
از طریق
<file>
ارسال
میشود. اگر
<file> دقیقاً
-
باشد،
ورودی
استاندارد
استفاده
میشود.
عناصر pathspec با
LF
یا
CR/LF از هم
جدا
میشوند.
عناصر pathspec را
میتوان
همانطور
که برای
متغیر
پیکربندی
core.quotePath توضیح
داده شده
نقلقول
کرد (به
git-config(1)
مراجعه
کنید).
همچنین به
--pathspec-file-nul و گزینه
سراسری
--literal-pathspecs
مراجعه
کنید.
--pathspec-file-nul
تنها
همراه با
--pathspec-from-file
معنادار
است. عناصر pathspec
با نویسه NUL
جدا
میشوند و
سایر
نویسهها
به صورت
تحتاللفظی
در نظر
گرفته
میشوند
(شامل خطوط
جدید و
علامتهای
نقلقول).
--
از این
گزینه
میتوان
برای
جداسازی
گزینههای
خط فرمان از
فهرست
فایلها
استفاده
کرد (زمانی
مفید است که
ممکن است
نام
فایلها با
گزینههای
خط فرمان
اشتباه
گرفته
شوند).
•افزودن
محتوا از
تمامی
فایلهای
*.txt
تحت
دایرکتوری
Documentation و
زیردایرکتوریهای
آن:
$ git add Documentation/\*.txt
توجه
داشته
باشید که در
این مثال،
علامت
ستاره * از
دید شل
اسکیپ و
نقلقول
شده است؛
این کار به
دستور
اجازه
میدهد
فایلهای
موجود در
زیردایرکتوریهای
دایرکتوری
Documentation/ را نیز
در بر گیرد.
•در نظر
گرفتن
افزودن
محتوا از
تمامی
اسکریپتهای
git-*.sh:
از آنجا که
در این مثال
به شل اجازه
داده
میشود
علامت
ستاره را
بسط دهد
(یعنی شما
فایلها را
به طور صریح
فهرست
میکنید)،
فایل subdir/git-foo.sh در
نظر گرفته
نمیشود.
هنگامی که
دستور وارد
حالت
تعاملی
میشود،
خروجی
زیردستور
status را نمایش
داده و سپس
وارد حلقه
دستورات
تعاملی خود
میشود.
حلقه
دستورات
فهرستی از
زیردستورهای
موجود را
نشان داده و
اعلان "What now> "
را ارائه
میدهد. به
طور کلی،
هنگامی که
اعلان با یک
علامت >
منفرد
پایان
مییابد،
تنها
میتوانید
یکی از
گزینههای
ارائهشده
را انتخاب
کرده و کلید
Return (اینتر) را
فشار دهید،
مانند زیر:
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> 1
شما
همچنین
میتوانید
تا زمانی که
انتخاب
یکتا باشد،
s یا sta یا status
را در بالا
وارد کنید.
حلقه اصلی
دستور
دارای ۶
زیردستور
است (به
علاوه help و quit).
status
این
زیردستور
تغییرات
بین
HEAD و
ایندکس
(یعنی آنچه
در صورت
اجرای
git commit
کامیت
خواهد شد)، و
بین
فایلهای
ایندکس و
درخت کاری
(یعنی آنچه
پیش از
اجرای
git commit
با استفاده
از
git add
میتوانید
بیشتر
آمادهسازی
کنید) را
برای هر
مسیر نمایش
میدهد. یک
نمونه
خروجی به
شکل زیر است:
staged unstaged path
1: binary nothing foo.png
2: +403/-35 +1/-1 add-interactive.c
این خروجی
نشان
میدهد که
foo.png دارای
تفاوتهایی
نسبت به HEAD
است (اما به
دلیل
باینری
بودن،
تعداد خطوط
قابل نمایش
نیست) و هیچ
تفاوتی بین
نسخه
ایندکسشده
و نسخه درخت
کاری وجود
ندارد (اگر
نسخه درخت
کاری نیز
متفاوت
بود، به جای
nothing، کلمه binary
نمایش داده
میشد). فایل
دیگر، add-interactive.c،
در صورت
کامیت کردن
آنچه در
ایندکس است
دارای ۴۰۳
خط
اضافهشده
و ۳۵ خط
حذفشده
است، اما
فایل موجود
در درخت
کاری
اصلاحات
بیشتری
دارد (یک
افزودن و یک
حذف).
update
این
زیردستور
اطلاعات
وضعیت را
نشان داده و
اعلان "Update>>"
را صادر
میکند.
هنگامی که
اعلان با دو
علامت
>> به
پایان
میرسد،
میتوانید
بیش از یک
انتخاب
داشته
باشید که با
فاصله خالی
یا کاما به
هم متصل
شدهاند.
همچنین
میتوانید
بازهها را
مشخص کنید؛
برای مثال "2-5
7,9" برای
انتخاب 2، 3، 4،
5، 7، 9 از لیست.
اگر عدد دوم
در یک بازه
حذف شود،
تمامی
وصلههای
باقیمانده
در نظر
گرفته
میشوند؛
برای مثال
"7-" برای
انتخاب 7، 8، 9
از لیست.
میتوانید
* را برای
انتخاب همه
چیز وارد
کنید.
آنچه
انتخاب
کردهاید
با * برجسته
میشود،
مانند زیر:
staged unstaged path
1: binary nothing foo.png
* 2: +403/-35 +1/-1 add-interactive.c
برای لغو
انتخاب،
ورودی را با
پیشوند -
وارد کنید،
مانند زیر:
پس از
انجام
انتخاب، با
یک خط خالی
پاسخ دهید
تا محتویات
فایلهای
درخت کاری
برای
مسیرهای
انتخابشده
در ایندکس
آمادهسازی
(stage) شوند.
revert
این
زیردستور
رابط
کاربری
بسیار
مشابهی با
update دارد، و
اطلاعات
آمادهشده
برای
مسیرهای
انتخابشده
به نسخه HEAD
بازگردانده
میشوند.
بازگرداندن
مسیرهای
جدید،
آنها را به
مسیرهای
ردیابینشده
(untracked) تبدیل
میکند.
add untracked
این
زیردستور
رابط
کاربری
بسیار
مشابهی با
update و revert دارد و
به شما
امکان
میدهد
مسیرهای
ردیابینشده
را به
ایندکس
اضافه
کنید.
patch
این
زیردستور
به شما
امکان
میدهد یک
مسیر را از
میان
انتخابی
شبیه به
status
برگزینید.
پس از
انتخاب
مسیر، دیف
بین فایل
ایندکس و
فایل درخت
کاری را
نمایش
میدهد و از
شما
میپرسد که
آیا
میخواهید
تغییرات هر
تکهتغییر
(hunk) را
آمادهسازی
کنید یا خیر.
میتوانید
یکی از
گزینههای
زیر را
انتخاب
کرده و کلید
Return (اینتر) را
فشار دهید:
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
پس از
تصمیمگیری
درباره
سرنوشت
تمام
تکهتغییرات،
در صورتی که
تکهای
انتخاب شده
باشد،
ایندکس با
تکهتغییرات
انتخابشده
بهروزرسانی
میشود.
میتوانید
با تنظیم
متغیر
پیکربندی
interactive.singleKey روی true،
از لزوم
فشردن کلید
Return در اینجا
صرفنظر
کنید.
diff
این
زیردستور
به شما
امکان
میدهد
آنچه را که
کامیت
خواهد شد
(یعنی تفاوت
بین HEAD و
ایندکس)
بررسی و
بازبینی
کنید.
اجرای git add
-e یا انتخاب
e از
انتخابگر
تعاملی
تکهتغییرات،
یک وصله (patch) را
در
ویرایشگر
شما باز
خواهد کرد؛
پس از خروج
از
ویرایشگر،
نتیجه روی
ایندکس
اعمال
میشود. شما
مجازید
تغییرات
دلخواهی در
وصله ایجاد
کنید، اما
توجه داشته
باشید که
برخی
تغییرات
ممکن است
نتایج
گیجکنندهای
داشته
باشند یا
حتی منجر به
وصلهای
شوند که
اعمال آن
غیرممکن
باشد. اگر
میخواهید
عملیات را
به طور کامل
لغو کنید
(یعنی هیچ
چیز جدیدی
در ایندکس
آمادهسازی
نشود)، به
سادگی تمام
خطوط وصله
را حذف کنید.
فهرست زیر
برخی از
موارد
رایجی را که
ممکن است در
یک وصله
ببینید و
عملیات
ویرایشی که
روی آنها
منطقی است
را توصیف
میکند.
added content
محتوای
اضافهشده
با خطوطی که
با "+" آغاز
میشوند
نشان داده
میشود. شما
میتوانید
با حذف این
خطوط، از
آمادهسازی
هرگونه
خطوط اضافه
شده
جلوگیری
کنید.
removed content
محتوای
حذفشده با
خطوطی که با
"-" آغاز
میشوند
نشان داده
میشود. شما
میتوانید
با تبدیل "-"
به " "
(فاصله)، از
آمادهسازی
حذف آنها
جلوگیری
نمایید.
modified content
محتوای
اصلاحشده
با خطوط "-"
(حذف محتوای
قدیمی) و به
دنبال آن
خطوط "+"
(افزودن
محتوای
جایگزین)
نشان داده
میشود. شما
میتوانید
با تبدیل
خطوط "-" به " "
و حذف خطوط
"+"، از
آمادهسازی
این اصلاح
جلوگیری
کنید. توجه
داشته
باشید که
تغییر تنها
یکی از
اعضای این
جفت،
احتمالاً
تغییرات
گیجکنندهای
در ایندکس
ایجاد
خواهد کرد.
همچنین
عملیات
پیچیدهتری
وجود دارند
که میتوان
انجام داد.
اما مراقب
باشید که
چون وصله
تنها روی
ایندکس
اعمال
میشود و نه
روی درخت
کاری، به
نظر میرسد
که درخت
کاری
تغییرات
ایندکس را
«خنثی» (undo)
میکند.
برای مثال،
وارد کردن
یک خط جدید
به ایندکس
که نه در HEAD و
نه در درخت
کاری وجود
دارد، خط
جدید را
برای کامیت
آماده
میکند،
اما این خط
در درخت
کاری به
صورت
واگردانیشده
(reverted) به نظر
خواهد
رسید.
از
استفاده از
این
ساختارها
خودداری
کنید، یا با
احتیاط
فوقالعاده
این کار را
انجام
دهید.
removing untouched content
محتوایی
که بین
ایندکس و
درخت کاری
تفاوتی
ندارد ممکن
است در خطوط
بافت (context)
نمایش داده
شود که با یک
" " (فاصله)
آغاز
میشوند.
شما
میتوانید
با تبدیل
فاصله به
"-"، خطوط
بافت را
برای حذف
آمادهسازی
کنید. فایل
حاصل در
درخت کاری
به گونهای
نمایش
مییابد که
گویی این
محتوا را
دوباره
اضافه
میکند.
modifying existing content
همچنین
میتوان با
آمادهسازی
خطوط بافت
برای حذف (با
تبدیل " " به
"-") و افزودن
یک خط "+" با
محتوای
جدید،
آنها را
اصلاح کرد.
به همین
ترتیب،
میتوان
خطوط "+"
مربوط به
اضافات یا
اصلاحات
موجود را
تغییر داد.
در تمامی
موارد،
اصلاح جدید
در درخت
کاری به
صورت
واگردانیشده
به نظر
میرسد.
new content
شما
همچنین
میتوانید
محتوای
جدیدی
اضافه کنید
که در وصله
وجود
ندارد؛
کافی است
خطوط جدیدی
اضافه کنید
که هر یک با
"+" آغاز
شوند. مورد
اضافه شده
در درخت
کاری به
صورت
واگردانیشده
به نظر
خواهد
رسید.
همچنین
چندین
عملیات
وجود دارد
که باید
کاملاً از
آنها
اجتناب
شود، چرا که
اعمال وصله
را غیرممکن
میسازند:
•افزودن
خطوط بافت ("
") یا خطوط
حذف ("-")
•حذف
خطوط بافت
یا خطوط
حذف
•اصلاح
محتوای
خطوط بافت
یا خطوط
حذف
تمام
موارد زیر
این خط در
این بخش به
طور گزینشی
از مستندات
git-config(1)
گنجانده
شده است.
محتوای آن
همان چیزی
است که در
آنجا یافت
میشود:
add.ignoreErrors, add.ignore-errors
(منسوخشده)
به git add
دستور
میدهد
زمانی که
برخی از
فایلها به
دلیل
خطاهای
ایندکسگذاری
نمیتوانند
اضافه
شوند، به
افزودن
فایلها
ادامه دهد.
معادل با
گزینه --ignore-errors
است. گزینه
add.ignore-errors منسوخ
شده است،
زیرا از
قرارداد
نامگذاری
معمول برای
متغیرهای
پیکربندی
پیروی
نمیکند.