فصل دوم: کار با تغییرات و تاریخچه

ناحیه‌ی staging و دستور git add

سه ناحیه در گیت

یکی از مفاهیم کلیدی گیت که در ابتدا کمی گیج‌کننده است، وجود سه ناحیه‌ی جداگانه است: Working Directory (فایل‌های واقعی روی دیسک)، Staging Area (ناحیه‌ی آماده‌سازی) و Repository (تاریخچه‌ی ثبت‌شده). وقتی فایلی را ویرایش می‌کنید، تغییر فقط در working directory اتفاق افتاده و گیت هنوز آن را ثبت نکرده است.

برای اینکه تغییری وارد staging area شود، از دستور git add استفاده می‌کنیم:

git add app.py
git add templates/index.html
git add .

فرمان آخر یعنی «همه‌ی تغییرات در پوشه‌ی فعلی و زیرپوشه‌ها را اضافه کن». این جدا کردن مرحله‌ی add از commit یک مزیت بزرگ دارد: شما می‌توانید فقط بخشی از تغییرات را برای یک commit انتخاب کنید. مثلاً اگر همزمان روی دو ویژگی متفاوت کار کرده‌اید، می‌توانید فایل‌های مربوط به هر ویژگی را جداگانه add و commit کنید تا تاریخچه‌ی تمیزتری داشته باشید.

بررسی قبل از commit

برای دیدن دقیق چه خطوطی تغییر کرده و هنوز به staging اضافه نشده‌اند:

git diff

و برای دیدن تغییراتی که در staging area قرار گرفته‌اند:

git diff --staged

عادت به بررسی این خروجی‌ها پیش از commit کردن، از ثبت اشتباهی فایل‌های ناخواسته یا کدهای نیمه‌کاره جلوگیری می‌کند و یکی از نشانه‌های کار حرفه‌ای با گیت است.

برای ذخیره‌ی پیشرفت و شرکت در آزمون، وارد شوید — رایگان است.