Git یک ابزار قدرتمند کنترل نسخه و همکاری است. این به توسعه دهندگان اجازه می دهد تا به طور یکپارچه روی پروژه ها با هم کار کنند.

اما حتی باتجربه ترین توسعه دهندگان نیز می توانند هنگام استفاده از Git اشتباه کنند، مانند افزودن تصادفی فایل هایی که قرار نبود متعهد شوند. این می تواند مشکل ساز باشد، به خصوص اگر فایل های اضافه شده حاوی اطلاعات حساس یا محرمانه باشند.

در این مقاله، نحوه لغو دستور Git add را یاد خواهید گرفت که به معنای حذف فایل‌ها از قسمت مرحله‌بندی و جلوگیری از متعهد شدن آن‌ها است.

نحوه اضافه کردن فایل در Git و تایید

احتمالاً می دانید که چگونه با استفاده از git add فرمان وقتی می‌خواهید همه فایل‌ها را اضافه کنید، از نقطه (.) استفاده می‌کنید، اما زمانی که می‌خواهید فایل(های خاص) را اضافه کنید، نام/مسیر فایل را پیوست می‌کنید:

// stage all files in current directory
git add .

// stage single file
git add <file>

// stage multiple files
git add <file1> <file2> <file3> ...

وقتی فایل ها را مرحله بندی می کنید، می توانید با استفاده از git status دستورات، که لیستی از تمام فایل های مرحله بندی شده را نشان می دهد:

s_4E8AA27FDBD6E92188ADA8CF7AE76BB35CFED775D18B77141314D06FC8C13ADB_1679558784394_image

نحوه حذف فایل های اضافه شده در Git

دو دستور اصلی وجود دارد که می توانید از آنها برای لغو “git add” یا حذف فایل های اضافه شده در Git استفاده کنید. به عبارت دیگر، می توانید از دو دستور اصلی برای حذف فایل های مرحله بندی شده از ناحیه مرحله بندی استفاده کنید.

پیشنهاد می‌کنیم بخوانید:  روش نصب Git بر روی CentOS 7

اینها هستند git reset و git rm --cached دستورات اما این دستورات کاملاً با یکدیگر متفاوت هستند.

نحوه حذف فایل های اضافه شده در Git با git reset

git reset برای از بین بردن تغییراتی که به ناحیه صحنه سازی اضافه شده اند استفاده می شود. این بدان معناست که فایل‌ها را از قسمت مرحله‌بندی حذف می‌کند اما تغییرات را در «دایرکتوری کاری» شما حفظ می‌کند.

برای حذف یک فایل واحد از قسمت مرحله بندی، می توانید از دستور زیر استفاده کنید:

git reset <file>

برای حذف تمام فایل های از قسمت مرحله بندی، می توانید از دستور زیر استفاده کنید:

git reset

بنابراین شما گیج نمی شوید، اجازه دهید توضیح دهم که دایرکتوری کاری به چه معناست. دایرکتوری کاری جایی است که شما تغییراتی را در کد خود ایجاد می کنید، در حالی که ناحیه مرحله بندی یک مرحله میانی است که در آن تغییرات را برای تعهد به مخزن خود آماده می کنید.

وقتی استفاده می کنید git reset برای حذف تغییرات از ناحیه مرحله بندی، Git آنها را حذف می کند اما آنها را در فهرست کاری شما نگه می دارد. این بدان معناست که تغییراتی که در فایل ها ایجاد کرده اید همچنان در فایل های محلی شما قابل مشاهده خواهد بود و در صورت نیاز می توانید به انجام تغییرات بیشتر ادامه دهید.

نحوه حذف فایل های اضافه شده در Git با git rm --cached

از سوی دیگر، git rm برای حذف یک فایل از ناحیه مرحله بندی و دایرکتوری کاری استفاده می شود. این بدان معنی است که فایل را برای همیشه از مخزن شما حذف می کند.

برای حذف یک فایل از مخزن، می توانید از دستور زیر استفاده کنید:

git rm <file>

اما شما فقط می‌خواهید فایل‌های خود را “از مرحله” خارج کنید (یعنی خنثی کردن git add فرمان) و آنها را از مخزن کاری خود “حذف” نکنید. این جایی است که شما از آن استفاده می کنید --cached پرچم. گزینه cache مشخص می کند که حذف باید فقط در نمایه مرحله بندی انجام شود. فایل های دایرکتوری کار به حال خود رها می شوند.

git rm --cached <file>

توجه به این نکته ضروری است که استفاده از git rm --cached راه حل کاملی برای نگهداری فایل ها در مخزن نیست. فایل همچنان می تواند به طور تصادفی یا عمدی از فهرست کار حذف شود.

پیشنهاد می‌کنیم بخوانید:  ارسال درخواست HTTP در React هنگام کار با API ها اغلب می خواهیم داده ها را برای پردازش به سرور ارسال کنیم. به عنوان مثال، اگر ما لیستی از کارهای انجام شده داریم و می خواهیم به آن اضافه کنیم، شاید از طریق ارسال فرم، از درخواست های POST HTTP برای ارسال یک درخواست با یک بار برای پردازش و ... استفاده می کنیم.

به همین دلیل، توصیه می‌شود از این دستور با احتیاط استفاده کنید و مطمئن شوید که عمداً فایل‌هایی را که دیگر نیازی به ردیابی در Git ندارید حذف می‌کنید.

نتیجه

یکی از مزیت های داشتن چندین دستور Git که می تواند به نتایج مشابهی دست یابد، مانند git rm و git reset، این است که آنها انعطاف پذیری و انتخاب را در اختیار کاربران قرار می دهند. کاربران مختلف ممکن است ترجیحات یا گردش کار متفاوتی داشته باشند و داشتن گزینه های متعدد به شما امکان می دهد بهترین روش را انتخاب کنید.

با این حال، داشتن بیش از حد دستورات مشابه نیز می تواند منجر به سردرگمی و اشتباهات شود، به خصوص برای کاربران جدیدی که ممکن است تفاوت های ظریف آنها را درک نکنند. این می تواند منجر به حذف تصادفی فایل ها یا سایر عواقب ناخواسته شود.

بنابراین فقط مطمئن شوید که دستورات Git و تفاوت های آنها را به دقت درک کرده اید تا بتوانید عمدا از آنها استفاده کنید. اگر مطمئن نیستید که چگونه از یک دستور خاص استفاده کنید، مشورت با مستندات یا کمک گرفتن از کاربران با تجربه تر نیز مفید است.

از کدنویسی لذت ببرید!