فایلها در git در دو حالت کلی قرار میگیرند : 1- untracked و 2- tracked
1 - untracking : فایل هایی هستند که اصلا دیده نمیشوند . فایل هایی که ابزار git در مورد انها اطلاعاتی ندارد .
2 - tracked : برعکس حالت قبلی است یعنی فایل هایی هستند که توسط git دیده میشوند و git در مورد انها اطلاعاتی دارد .
هر فایلی که در ابتدا میسازیم در وضعیت untracked قرار دارد که اگر دستود add را اجرا کنیم ، tracked میشود .
خود حالت tracked به زیر حالت هایی تقسیم میشوند : 1- unmodified و 2- modified و 3- stage
1- unmodified : یعنی فایل به git اضافه شده است ولی هیچ تغییری تاکنون بر روی آن صورت نگرفته است .
2- modified :زمانی که هر تغییری بر روی فایل ایجاد کنیم در این حالت قرار میگیرد .
3- stage : هر زمانی که از دستور add استفاده کنیم ، فایل در این وضعیت قرار میگیرد . فایلی که در این حالت قرار میگیرد اماده ی commit شدن است .
commit : دستوری است که با استفاده از ان میتوان فایلی را ثبت کرد . و نسخه هایی که ثبت میشوند قابل برگشت نیز هستند .