Git Lifecycle
📖توضیحات درس
📄جزوه
مفاهیم کلیدی
-
Git Lifecycle مجموعه حالتهای مختلفی که یک فایل از زمان ایجاد تا ثبت نهایی در مخزن Git طی میکند.
-
Git Repository دایرکتوری یا پوشهای که توسط Git تحت نظر گرفته شده و تمام تاریخچه تغییرات در آن ذخیره میشود.
-
Working Directory پوشه فیزیکی پروژه در سیستم شما که فایلها در آن قرار دارند و شما مستقیماً روی آنها کد میزنید.
-
Untracked وضعیتی که در آن فایل در پوشه پروژه وجود دارد، اما Git هنوز آن را تحت نظر نگرفته و تغییری از آن را ثبت نمیکند.
-
Staging Area یک محیط میانی و موقت که فایلهای انتخاب شده برای ثبت نهایی (Commit) در آنجا گروهبندی میشوند.
-
Modified وضعیتی که یک فایل قبلاً توسط Git شناسایی شده (Tracked)، اما تغییرات جدید آن هنوز به محیط Staging اضافه نشده است.
-
Unmodified وضعیتی که فایل هیچ تغییر جدیدی نسبت به آخرین نسخه ثبت شده در مخزن ندارد.
نکات مهم مصاحبهای
-
چرا Git به محیط Staging نیاز دارد؟ این محیط به برنامهنویس اجازه میدهد تا تغییرات خود را گروهبندی کند. به این ترتیب میتوانید فقط فایلهای مرتبط با یک ویژگی خاص را برای کامیت انتخاب کنید و کارهای غیرمرتبط را در یک کامیت جداگانه قرار دهید.
-
تفاوت فایلهای Untracked و Modified چیست؟ فایل Untracked فایلی است که برای اولین بار ساخته شده و Git هیچ سابقهای از آن ندارد. فایل Modified فایلی است که قبلاً در سیستم Git ثبت شده اما حالا دچار تغییر شده است.
-
دستور
git initچه کاری انجام میدهد و چند بار اجرا میشود؟ این دستور یک دایرکتوری معمولی را به یک Git Repository تبدیل میکند و پوشه مخفی.gitرا میسازد. این دستور معمولاً فقط یکبار در ابتدای پروژه اجرا میشود. -
یک Commit حاوی چه اطلاعاتی است؟ علاوه بر اسنپشات (Snapshot) فایلها، شامل اطلاعات نویسنده (نام و ایمیل)، زمان دقیق ثبت و یک پیام توضیحی (Commit Message) است.
سناریوی کاربردی
فرض کنید میخواهید یک پروژه جدید را شروع کنید و اولین فایل خود را ذخیره کنید:
- آمادهسازی مخزن: ابتدا با دستور
git initدر پوشه پروژه، مخزن را ایجاد میکنید. این کار پوشه مخفی.gitرا میسازد که مرکز مدیریت تغییرات است. - ایجاد فایل: یک فایل به نام
test.txtمیسازید. در این مرحله با اجرایgit statusمیبینید که فایل در وضعیت Untracked (قرمز) قرار دارد. - انتقال به مرحله میانی: با دستور
git add test.txtفایل را به Staging Area میبرید. حالا در وضعیت Staged (سبز) قرار میگیرد و آماده ثبت است. - ثبت نهایی: با دستور
git commit -m "Initial commit"یک اسنپشات دائمی از فایل در تاریخچه پروژه ثبت میکنید. - تغییر مجدد: اگر فایل را باز کرده و متنی به آن اضافه کنید، فایل به وضعیت Modified میرود. برای ثبت نسخه جدید، باید دوباره مراحل
addوcommitرا تکرار کنید.
بیشتر بدانید
-
نکته IDE در سیستمعاملهای لینوکس و مک، پوشههایی که با نقطه شروع میشوند (مانند
.git) مخفی هستند. برای دیدن آنها در ترمینال لینوکس از کلید ترکیبیCtrl + Hاستفاده میشود. -
اهمیت Commit Message پیامهای کامیت باید شفاف و دقیق باشند. به جای نوشتن کلمات مبهم، دقیقاً بنویسید چه تغییری ایجاد شده است. این کار در عیبیابی (Debug) پروژهها پس از گذشت زمان بسیار حیاتی است.
-
استفاده از
git statusهمیشه قبل و بعد از هر دستور مهم، ازgit statusاستفاده کنید تا از وضعیت دقیق فایلها و اینکه در کدام مرحله از چرخه حیات هستند مطلع شوید. -
پاکسازی ترمینال: در حین کار با کنسول، استفاده از دستور
clearصفحه را تمیز میکند تا تمرکز بهتری روی خروجیهای جدید داشته باشید.
