جلسه شماره 45رایگان

Git Lifecycle

00:49:28

توضیحات جلسه

🎥 این ویدیو قسمت چهل و پنجم از بوت‌کمپ رایگان جاواست. 📚 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 هر سوالی داشتی، می‌تونی توی گروه بپرسی؛ من یا مربی‌های گروه کمکت می‌کنیم 💬 🎯 بوت‌کمپ رایگان جاوا – آموزش پروژه‌محور برای یادگیری عمیق و ورود به بازار کار

جزوه و مستندات

مفاهیم کلیدی

Git Lifecycle

مجموعه وضعیت‌های مختلفی که یک فایل از زمان ایجاد تا ثبت نهایی در مخزن Git طی می‌کند.

Git Repository

دایرکتوری یا پوشه‌ای که توسط Git تحت نظر گرفته شده و تمام تاریخچه تغییرات در آن ذخیره می‌شود.

Working Directory

پوشه فیزیکی پروژه در سیستم شما که فایل‌ها در آن قرار دارند و مستقیماً روی آن‌ها کدنویسی می‌کنید.

Untracked

وضعیتی که در آن فایل در پوشه پروژه وجود دارد، اما Git هنوز آن را تحت نظر نگرفته است و تغییری از آن ثبت نمی‌کند.

Staging Area

یک محیط میانی و موقت که فایل‌های انتخاب‌شده برای ثبت نهایی (Commit) در آنجا گروه‌بندی می‌شوند.

Modified

وضعیتی که یک فایل قبلاً توسط Git شناسایی شده است (Tracked)، اما تغییرات جدید آن هنوز به Staging Area اضافه نشده‌اند.

Unmodified

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

نکات مهم مصاحبه‌ای

چرا Git به محیط Staging نیاز دارد؟

این محیط به برنامه‌نویس اجازه می‌دهد تغییرات خود را گروه‌بندی کند. به این ترتیب، می‌توانید فقط فایل‌های مرتبط با یک ویژگی خاص را برای Commit انتخاب کرده و تغییرات غیرمرتبط را در یک Commit جداگانه قرار دهید.

تفاوت فایل‌های Untracked و Modified چیست؟

فایل Untracked فایلی است که برای اولین بار ساخته شده و Git هیچ سابقه‌ای از آن ندارد.

فایل Modified فایلی است که قبلاً در Git ثبت شده، اما اکنون تغییر کرده است.

دستور git init چه کاری انجام می‌دهد و چند بار اجرا می‌شود؟

دستور git init یک دایرکتوری معمولی را به یک Git Repository تبدیل می‌کند و پوشه مخفی .git را می‌سازد. این دستور معمولاً فقط یک‌بار، در ابتدای پروژه، اجرا می‌شود.

یک Commit حاوی چه اطلاعاتی است؟

هر 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

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

استفاده از git status

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

پاکسازی ترمینال

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