Farzad Afi Logo

FarzadAfi

آموزش تخصصی برنامه نویسی

Git Lifecycle

📖توضیحات درس

🎥 این ویدیو قسمت چهل و پنجم از بوت‌کمپ رایگان جاواست. 📚 Git – آشنایی کامل با چرخه زندگی در Git (Git Lifecycle) در این قسمت وارد یکی از مهم‌ترین مفاهیم پایه‌ای Git می‌شویم: چرخه زندگی فایل‌ها در Git. در این جلسه قدم‌به‌قدم بررسی می‌کنیم که فایل‌ها از چه مراحلی عبور می‌کنند تا در نهایت به بخشی از تاریخچه (History) پروژه تبدیل شوند. درک این چرخه کمک می‌کند بهتر بفهمیم Git چگونه تغییرات پروژه را مدیریت می‌کند. در این ویدیو بررسی می‌کنیم: - مفهوم git init و شروع یک مخزن (Repository) جدید - بررسی وضعیت فایل‌ها با دستور git status - اضافه کردن فایل‌ها به Stage با دستور git add - ثبت نهایی تغییرات با git commit - تفاوت بین Working Directory، Staging Area و Repository - اهمیت مرحله Stage در Git - مرور کامل مسیر یک فایل از ایجاد تا Commit شدن 💬 گروه پرسش و پاسخ تلگرام: @programmingByFarzadAfi 💬 گروه پرسش و پاسخ بله: @programming_by_farzadafi هر سوالی داشتی، می‌تونی توی گروه بپرسی؛ من یا مربی‌های گروه کمکت می‌کنیم 💬 🎯 بوت‌کمپ رایگان جاوا – آموزش پروژه‌محور برای یادگیری عمیق و ورود به بازار کار
00:49:28🎯رایگان

📄جزوه

مفاهیم کلیدی

  • 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) است.

سناریوی کاربردی

فرض کنید می‌خواهید یک پروژه جدید را شروع کنید و اولین فایل خود را ذخیره کنید:

  1. آماده‌سازی مخزن: ابتدا با دستور git init در پوشه پروژه، مخزن را ایجاد می‌کنید. این کار پوشه مخفی .git را می‌سازد که مرکز مدیریت تغییرات است.
  2. ایجاد فایل: یک فایل به نام test.txt می‌سازید. در این مرحله با اجرای git status می‌بینید که فایل در وضعیت Untracked (قرمز) قرار دارد.
  3. انتقال به مرحله میانی: با دستور git add test.txt فایل را به Staging Area می‌برید. حالا در وضعیت Staged (سبز) قرار می‌گیرد و آماده ثبت است.
  4. ثبت نهایی: با دستور git commit -m "Initial commit" یک اسنپ‌شات دائمی از فایل در تاریخچه پروژه ثبت می‌کنید.
  5. تغییر مجدد: اگر فایل را باز کرده و متنی به آن اضافه کنید، فایل به وضعیت Modified می‌رود. برای ثبت نسخه جدید، باید دوباره مراحل add و commit را تکرار کنید.

بیشتر بدانید

  • نکته IDE در سیستم‌عامل‌های لینوکس و مک، پوشه‌هایی که با نقطه شروع می‌شوند (مانند .git) مخفی هستند. برای دیدن آن‌ها در ترمینال لینوکس از کلید ترکیبی Ctrl + H استفاده می‌شود.

  • اهمیت Commit Message پیام‌های کامیت باید شفاف و دقیق باشند. به جای نوشتن کلمات مبهم، دقیقاً بنویسید چه تغییری ایجاد شده است. این کار در عیب‌یابی (Debug) پروژه‌ها پس از گذشت زمان بسیار حیاتی است.

  • استفاده از git status همیشه قبل و بعد از هر دستور مهم، از git status استفاده کنید تا از وضعیت دقیق فایل‌ها و اینکه در کدام مرحله از چرخه حیات هستند مطلع شوید.

  • پاکسازی ترمینال: در حین کار با کنسول، استفاده از دستور clear صفحه را تمیز می‌کند تا تمرکز بهتری روی خروجی‌های جدید داشته باشید.