Git دارای یک منطقه صحنه سازی که تغییرات فایلی را که هنوز انجام نشده اند ذخیره می کند.
این مرحله ای است که به شما امکان می دهد به ایجاد تغییرات ادامه دهید و تغییرات را در commit های کوچک ثبت کنید.
شروع با استیجینگ
با مرحله بندی، می توانید تغییری را در یک فایل در رایانه خود ذخیره کنید، اما اگر متعهد نباشد، git نسخه ای از آن را ذخیره نمی کند.
قبل از اینکه فایلی را با git commit کنید، ابتدا باید تغییر را مرحله بندی کنید.
سپس، می توانید متعهد شوید.
به این ترتیب می توانید چندین تغییر را در یک کامیت انجام دهید.
مرحله بندی در ترمینال در مقایسه با مرحله بندی در VSCode
اگر هنگام برنامه نویسی از یک IDE مانند VSCode استفاده می کنید، چیزی مانند کنترل پنل منبع دارید که به شما امکان می دهد ادغام Git را آسان کنید.
در آن پنل، می توانید تغییرات بدون مرحله (یا پیگیری نشده) و مرحله ای خود را مشاهده کنید.
اگر الان کامیتی انجام می دادم، فقط تغییرات مرحله ای انجام می شد.
بیایید ببینیم چگونه تغییرات خود را مرحله بندی کنید.
Git Init: یک مخزن Git را راه اندازی کنید
بیایید با یک پروژه خالی شروع کنیم و ببینیم که مراحل git چگونه کار می کند.
با استفاده از عبارت می توانید یک مخزن git را مقداردهی اولیه کنید git init
فرمان
با این کار یک مخزن git مخفی (پوشه ای به نام .git
در ریشه پروژه شما).
هیچ چیزی در پروژه تا کنون تغییر نکرده است، بنابراین شما یک فایل جدید ایجاد خواهید کرد:
Git add: افزودن یک فایل به Staging با Git Add
را git add
دستور به شما اجازه می دهد تا فایل ها را مرحله بندی کنید تا متعهد شوند.
اگر از VSCode استفاده می کنید، می توانید در کنترل پنل منبع مشاهده کنید که تغییری ایجاد شده است، اما هیچ مرحله ای انجام نشده است.
می توانید با استفاده از علامت + در کنترل پنل منبع، تغییر را انجام دهید. اما در این صورت دستور git add را در ترمینال به شما نشان خواهم داد.
استفاده کنید git add
دستور مرحله بندی فایل در Git. در نوع ترمینال:
و حالا می بینید که صحنه سازی شده است.
وضعیت Git: نمایش فایل های مرحله بندی شده
را git status
دستور فایل هایی را که در ناحیه مرحله بندی هستند را نشان می دهد.
در اینجا می توانیم تغییرات مرحله ای را مشاهده کنیم.
اگر هیچ فایل مرحلهای و/یا هیچ فایل تغییر یافتهای وجود نداشته باشد، خروجی مشابه اما متفاوت خواهد بود.
بیایید یک فایل جدید ایجاد کنیم و آن را مرحله بندی نکنیم.
$ touch new-file2.txt
$ git status
فایل های ردیابی نشده فایل های “بدون مرحله” هستند.
اگر تغییرات جدیدی وجود نداشته باشد و تغییرات مرحلهای وجود نداشته باشد، خروجی مختصرتر خواهد بود.
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
Git Diff: ببینید چه چیزی در فایل تغییر کرده است
استفاده کنید git diff
دستور دهید ببینید چه چیزی تغییر کرده است.
Git diff فایل موجود را با آخرین نسخه ذخیره شده مقایسه می کند.
Diff یک صفحه نمایش فرمت شده است که تفاوت بین گروه های فایل را نشان می دهد.
شما می توانید استفاده کنید git diff
بدون هیچ چیز بعد این همه تغییرات در مخزن را به شما نشان می دهد.
همچنین می توانید استفاده کنید git diff
به همراه نام دایرکتوری این همه تغییرات ایجاد شده در دایرکتوری را به شما نشان می دهد.
$ git diff changed-file.txt
یا استفاده کنید git diff
همراه با نام فایل با این کار تمام تغییرات ایجاد شده در فایل به شما نمایش داده می شود.
$ git diff changed-file.txt
Git Commit: اجرای فایل های مرحله بندی شده
حالا اگر بخواهم commit کنم فقط فایل(های) مرحله بندی شده commit می شود. در این مورد فقط new-file.txt
متعهد خواهد شد.
$ git commit -m "only committing new-file.txt"
کنترل نسخه دیگر با پستهای Git و Github
آموزش Git و Github (راهنمای کامل)
مبانی کنترل نسخه
نحوه استفاده از Git و Github با VSCode
استراتژیست سئو در Tripadvisor، Seek سابق (ملبورن، استرالیا). متخصص در سئو فنی. در تلاش برای سئوی برنامهریزی شده برای سازمانهای بزرگ از طریق استفاده از پایتون، R و یادگیری ماشین.