Git States، وضعیتهایی است که فایلهای شما در گیت میتوانند در آنها باشند. این وضعیتها عبارت اند از:
۱. Untracked: در این وضعیت، فایلهایی که به تازگی به پروژه شما اضافه شدهاند، هنوز در گیت شناسایی نشدهاند.
۲. Tracked: در این وضعیت، فایلهایی که در پوشه گیت وجود دارند و توسط گیت پیگیری میشوند، در این وضعیت قرار دارند.
۳. Modified: در این وضعیت، فایلهایی که در پوشه گیت وجود دارند و تغییراتی در آنها اعمال شده است، در این وضعیت قرار دارند.
۴. Staged: در این وضعیت، فایلهایی که تغییرات آنها به صورت explicit با دستور git add
به پوشه staging اضافه شدهاند و در حالت آماده برای commit قرار دارند، در این وضعیت قرار دارند.
۵. Committed: در این وضعیت، فایلهایی که با استفاده از دستور git commit
ذخیره شدهاند، در این وضعیت قرار دارند.
حالا بیایید هر کدام از این وضعیتها را با جزئیات بیشتر بررسی کنیم:
۱. Untracked:
در این وضعیت، فایلهایی که به تازگی به پروژه شما اضافه شدهاند، هنوز در گیت شناسایی نشدهاند. این فایلها در وضعیت untracked باقی میمانند تا زمانی که با دستور git add
به پوشه staging اضافه شوند و در وضعیت staged قرار بگیرند. برای مشاهده فایلهای untracked، میتوانید از دستور git status
استفاده کنید.
۲. Tracked:
در این وضعیت، فایلهایی که در پوشه گیت وجود دارند و توسط گیت پیگیری میشوند، در این وضعیت قرار دارند. این فایلها در پوشه گیت وجود دارند و توسط گیت شناسایی شدهاند. تغییرات اعمال شده به این فایلها میتواند در سه وضعیت زیر باشد:
۱. Modified:
در این وضعیت، تغییراتی در فایل اعمال شده است، اما هنوز با دستور git add
به پوشه staging اضافه نشده است. فایل در وضعیت modified باقی میماند تا زمانی که با دستور git add
به پوشه staging اضافه شود و در وضعیت staged قرار بگیرد.
۲. Staged:
در این وضعیت، فایل با استفاده از دستور git add
به پوشه staging اضافه شده و آماده برای commit شدن است. به عبارت دیگر، تغییرات فایل در این وضعیت برای commit آماده شده است.
۳. Committed:
در این وضعیت، تغییرات فایل با استفاده از دستور git commit
به repository اضافه شدهاند. به عبارت دیگر، فایل در این وضعیت به صورت نهایی در repository ذخیره شده و به حالت پایدار درآمده است.
اگر بخواهید وضعیت فایلهایی که در پوشه گیت وجود دارند و تغییراتی در آنها اعمال شده است را بررسی کنید، میتوانید از دستور git status
استفاده کنید. این دستور شامل اطلاعاتی درباره وضعیت فایلها (untracked، modified، staged، committed) است که به شما کمک میکند تا وضعیت فایلهای خود را بررسی کنید و اقدامات لازم را برای commit تغییرات انجام دهید.
در Git هر commit شامل یک شناسه یکتا (commit hash) است که توسط Git برای آن تعیین میشود. همچنین هر commit شامل اطلاعاتی درباره تاریخ نویسنده و پیام commit نیز میباشد. در صورتی که میخواهید تاریخ و نام نویسنده commit را بررسی کنید، میتوانید از دستور git log
استفاده کنید. این دستور شامل لیستی از commit های موجود در repository شما است و اطلاعاتی مانند شناسه، نویسنده، تاریخ و پیام commit را نمایش میدهد.
در Git، میتوانید از دستوراتی مانند git add
و git commit
برای ایجاد commit جدید با تغییرات اعمال شده در فایلهای پروژه استفاده کنید. با اجرای این دستورات، تغییرات اعمال شده در فایلها به پوشه staging اضافه شده و سپس با دستور git commit
به repository اضافه شده و commit جدیدی ایجاد میشود.
دستور git checkout
نیز از جمله دستورات پرکاربرد در Git است که برای تغییر بین شاخههای مختلف در repository استفاده میشود. با اجرای دستور git checkout
و نام شاخهای که میخواهید به آن تغییر کنید، میتوانید بین شاخههای مختلف در repository جابجا شوید.
همچنین، در Git از دستوراتی مانند git clone
و git pull
برای کپی کردن پروژه از repository روی سیستم خود و بهروزرسانی پروژه استفاده میشود.
Git یک سیستم مدیریت نسخه بسیار قوی است که به شما امکان میدهد تا به راحتی تغییرات اعمال شده در پروژه خود را پیگیری و کنترل کنید. از این رو، Git یکی از پرکاربردترین ابزارهای مورد استفاده برنامهنویسان و توسعهدهندگان است.
در Git، میتوانید از دستوراتی مانند git push
برای ارسال commit هایی که ایجاد کردهاید به یک remote repository مانند GitHub یا GitLab استفاده کنید. با اجرای دستور git push
، commit های جدیدی که در repository شما ایجاد کردهاید، به remote repository ارسال میشود. در عوض، با دستور git fetch
و git pull
میتوانید commit های جدید را از remote repository بر روی repository خودتان دریافت کنید.
همچنین، در Git میتوانید از دستورات branch برای ایجاد و مدیریت شاخههای مختلف در repository استفاده کنید. با ایجاد شاخههای مختلف، میتوانید تغییراتی که در پروژه اعمال میکنید را به صورت مجزا و مستقل از شاخههای دیگر پیگیری کنید. همچنین با دستور git merge
میتوانید تغییراتی که در شاخههای مختلف اعمال شدهاند را با هم ادغام کنید.
یکی دیگر از ویژگیهای قدرتمند Git، امکان تعامل با دیگران بر روی پروژه مشترک است. با استفاده از Git و remote repository میتوانید با دیگران در پروژه مشترک همکاری کنید و تغییراتی که ایجاد میکنید را با آنها به اشتراک بگذارید. همچنین با استفاده از ویژگیهای pull request و code review در سیستمهای مانند GitHub و GitLab میتوانید تغییرات اعمال شده را توسط دیگران بررسی و تأیید کنید.