Gitبرنامه نویسی Programming

مرحله‌بندی فایل‌ها و ایجاد اولین Commit در Git

Chapter 4: Staging Files and Creating First Commit

در Git، همه‌چیز حول محور Commit می‌چرخد. Commitها مثل عکس‌هایی (Snapshot) هستند که در لحظه‌ای خاص از پروژه گرفته می‌شوند. اما قبل از اینکه بتوانید Commit ایجاد کنید، باید تغییرات خود را در مرحله‌ای به نام Staging Area آماده کنید. اگر تازه‌کار هستید، نگران نباشید؛ “تعهد” در Git ترسناک نیست بلکه یکی از مهم‌ترین ویژگی‌های آن است.

چرخه تغییرات در Git

برای درک بهتر Commit، ابتدا چرخه کلی تغییرات را مرور کنیم:

  1. Working Directory → جایی که تغییرات روی فایل‌ها اعمال می‌شوند.
  2. Staging Area (Index) → جایی که تغییرات انتخاب شده و آماده Commit می‌شوند.
  3. Repository → جایی که Commitها ذخیره می‌شوند و تاریخچه پروژه ساخته می‌شود.
Git
Git

ایجاد یک پروژه جدید در Git

اولین قدم ساختن یک مخزن (Repository) است:

mkdir my-project
cd my-project
git init

با اجرای git init یک پوشه مخفی به نام .git ایجاد می‌شود که شامل تمام اطلاعات تاریخچه پروژه است.

Git Folder Internals
Git Folder Internals

مرحله‌بندی فایل‌ها (Staging Files)

فرض کنید یک فایل جدید به نام index.html می‌سازید.

echo "<h1>Hello Git</h1>" > index.html

اگر دستور زیر را اجرا کنید:

git status

خواهید دید که فایل به عنوان Untracked (ردیابی نشده) نمایش داده می‌شود.

برای افزودن فایل به Staging Area:

git add index.html

اگر همه فایل‌ها را می‌خواهید اضافه کنید:

git add .

ایجاد اولین Commit

حالا وقت آن رسیده که اولین Snapshot پروژه را ثبت کنیم:

git commit -m "First commit: add index.html"
  • گزینه -m برای نوشتن پیام Commit است.
  • پیام Commit باید خلاصه و توصیفی باشد.

پیام Commit خوب چه ویژگی‌هایی دارد؟

  • کوتاه و واضح باشد.
  • بیان کند چه کاری انجام داده‌اید.
  • مثال‌های خوب:
    • Add login page
    • Fix bug in payment process
    • Update README with installation steps

بررسی تاریخچه Commitها

برای مشاهده Commitها:

git log

خروجی چیزی شبیه این خواهد بود:

commit e68ff47f2a0c8b04d3a1f9eaa8f2a1dbe5a1d213
Author: Your Name <your.email@example.com>
Date:   Fri Sep 29 10:15:00 2023

    First commit: add index.html

به‌روزرسانی Staging Area

اگر بعداً فایل index.html را ویرایش کنید:

  1. تغییرات جدید به صورت Modified شناخته می‌شوند.
  2. باید دوباره آن را با git add به Staging Area منتقل کنید.
  3. سپس با git commit یک Snapshot جدید ایجاد کنید.

چرا Staging Area مهم است؟

ممکن است در یک پروژه روی چندین فایل کار کنید، اما نخواهید همه تغییرات را در یک Commit ذخیره کنید. Staging Area به شما امکان می‌دهد:

  • فقط تغییرات مورد نظر را انتخاب کنید.
  • Commitهای تمیزتر و قابل درک‌تر بسازید.
  • مدیریت بهتری روی تاریخچه پروژه داشته باشید.

در این فصل یاد گرفتیم که:

  • چطور یک مخزن Git بسازیم (git init).
  • فایل‌ها را به Staging Area منتقل کنیم (git add).
  • اولین Commit خود را ایجاد کنیم (git commit).
  • اهمیت پیام Commit و Staging Area را درک کردیم.

Version Control with Git

در فصل بعد (Chapter 5: Recreating Git’s Init Process) پشت صحنه‌ی دستور git init را بررسی می‌کنیم و خواهیم دید که Git دقیقاً چه فایل‌هایی می‌سازد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا