گیت بخش مهمی از برنامه نویسی روزانه است (بهخصوص اگر با یک تیم کار میکنید) و همچنین به طور گسترده در صنعت نرمافزار مورد استفاده قرار میگیرد.
از آنجا که دستورات مختلف زیادی وجود دارد که میتوانید از آنها استفاده کنید، برای همین تسلط بر گیت زمان میبرد. اما بعضی از دستورات بیشتر و بیشتر استفاده میشوند (به طور معمول هر روز). بنابراین در این پست، 10 دستور پر استفاده گیت را که هر توسعهدهنده باید بداند را در توضیح میدهم.
توجه: برای درک این مقاله، باید اصول اولیه گیت را بدانید.
۱. Git clone
clone یک فرمان برای دانلود کد منبع موجود از یک مخزن است. به عبارت دیگر، اگر بخواهیم بر روی کامپیوتر خود یک کپی از پروژهای که داخل مخزن گیتهاب است، بگیریم و بر روی آن تغییرات ایجاد کنیم از دستور clone استفاده میکنیم.
چندین روش برای دانلود کد منبع وجود دارد، اما اغلب ترجیح میدهم آن را با روش "https" دانلود کنم:
git clone <https://name-of-the-repository-link>
به عنوان مثال، اگر ما بخواهیم پروژهای را از Github دانلود کنیم، تمام کاری که باید انجام دهیم این است که روی دکمه سبز (clone or download) کلیک کنیم، URL داخل کادر را کپی میکنیم و بعد از دستور git clone که در بالا به آن اشاره کردم جایگذاری میکنیم.
با این کار شما یک کپی از کد را بر روی سیستم خود دارید و میتوانید روی آن تغییراتی را اعمال کنید.
۲. Git branch
شاخهها (branch) در دنیای گیت بسیار مهم هستند. با استفاده از شاخه، چندین توسعهدهنده قادر به کار همزمان بر روی یک پروژه هستند. می توانیم از دستور git branch برای ایجاد، لیست کردن و حذف شاخهها استفاده کنیم.
ایجاد یک شاخه جدید:
git branch <branch-name>
این دستور یک شاخه به صورت محلی بر روی سیستم شما میسازد. اگر بخواهید یک شاخهی از راه دور بر روی مخزن خود ایجاد کنید باید دستور زیر را انجام دهید:
git push -u <remote> <branch-name>
مشاهده شاخهها:
git branch or git branch --list
حذف شاخهها:
git branch -d <branch-name>
شاخهها موضوعی بسیار گستردهتر و مهمتر هستند که شما باید بخوبی آن را درک کنید.
۳. Git checkout
این دستور نیز یکی از پر استفادهترین دستورات است. برای کار کردن در یک شاخه، ابتدا باید به آن سوئیچ کنید. ما از checkout بیشتر برای سوییچ کردن از یک شاخه به شاخه دیگر استفاده میکنیم. همچنین میتوانیم از آن برای چک کردن فایلها و commitها استفاده کنیم.
git checkout <name-of-your-branch>
برای جابجایی موفقیتآمیز بین شاخهها، باید مراحلی را دنبال کنید:
- قبل از سوییچ کردن ، باید شاخه فعلی که بر روی آن کار میکنید را commit کنید.
- شاخهای که میخواهید روی آن کار کنید باید بر روی سیستم شما وجود داشته باشد
همچنین یک دستور میانبر وجود دارد که به شما اجازه میدهد همزمان یک شاخه را ایجاد کنید و به آن سوئیچ کنید:
git checkout -b <name-of-your-branch>
این دستور یک شاخه جدید بر روی سیستم شما ایجاد میکند (b- مخفف branch است) و شاخه را بعد از ایجاد بررسی میکند.
۴. Git status
دستور status Git تمام اطلاعات لازم را در مورد شاخه فعلی به ما میدهد.
git status
ما میتوانیم اطلاعات را به این شکل جمعآوری کنیم:
- آیا شاخه فعلی به روز است یا خیر
- آیا چیزی برای commit، push یا pull وجود دارد یا نه
- پروژه در چه وضعیتی است، unstaged یا untracked
- فایلهایی که ایجاد کردیم، اصلاح شده یا حذف شدهاند
Git status اطلاعاتی درباره شاخه و فایلها به ما میدهد.
۵. Git add
هنگامیکه ما یک فایل ایجاد، اصلاح یا حذف میکنیم، این تغییرات به صورت محلی رخ خواهند داد و در commit بعدی گنجانده نخواهد شد (مگر اینکه پیکربندی را تغییر دهیم).
ما باید از دستور git add استفاده کنیم تا تغییرات پرونده (ها) را در commit بعدی خود بگنجانیم.
دستور اضافه کردن یک فایل
git add <file>
دستور اضافه کردن تمام فایلها
git add -A
هنگامی که عکس بالا در بخش چهارم را نگاه میکنید، خواهید دید که نام فایلها قرمز هستند - این به این معنی است که آن فایلها هنوز اضافه نشدهاند. فایلهای اضافه نشده را نمیتوان commit کرد.
برای commit کردن ابتدا باید آنها را با استفاده دستور git add اضافه کنیم.
وقتی رنگ فایل سبز است یعنی به درستی اضافه شدهاند
نکته مهم: دستور git add تغییری در مخزن ایجاد نمیکند و تا زمانی که از git commit استفاده نکنیم ، تغییرات ذخیره نمیشوند.
۶. Git commit
این شاید پرکاربردترین دستور گیت باشد. پس از رسیدن به یک نقطه خاص در توسعه، میخواهیم تغییرات خود را ذخیره کنیم (شاید پس از یک کار یا مسئله خاص).
commit Git مانند تنظیم یک ایست بازرسی در فرایند توسعه است که در صورت نیاز می توانید بعداً به آن بازگردید.
ما همچنین باید یک پیام کوتاه برای توضیح آنچه در کد مبدا ایجاد یا تغییر دادهایم را بنویسیم.
git commit -m "commit message"
مهم: commit Git تغییرات شما را فقط به صورت محلی ذخیره میکند.
۷. Git push
بعد از اینکه تغییرات را اعمال کردید، کار بعدی که باید انجام دهید ارسال تغییرات بر روی سرور است، با استفاده از git push، commit های خود را بر روی سرور ارسال کنید.
git push <remote> <branch-name>
اما اگر شاخه شما به تازگی ایجاد شدهاست، سپس باید شاخه را نیز با دستور زیر آپلود کنید:
git push --set-upstream <remote> <name-of-your-branch>
یا
git push -u origin <branch_name>
مهم: Git push فقط تغییراتی را که انجام شده است را بارگذاری می کند.
۸. Git pull
دستور git pull برای دریافت بهروزرسانی از مخزن استفاده میشود. این دستور ترکیبی از git fetch و git merge است به این معنی که، وقتی از git pull استفاده میکنیم، بهروزرسانیها را از مخزن (git fetch) دریافت میکند و بلافاصله آخرین تغییرات را به صورت محلی (merge git) اعمال میکند.
git pull <remote>
این عمل ممکن است باعث مشکلاتی شود که نیاز است شما آن را به صورت دستی حل کنید.
۹. Git revert
گاهیاوقات ما نیاز داریم تغییراتی که ایجاد کردهایم را برگردانیم. راههای مختلفی برای برگرداندن تغییرات ما به طور محلی یا از راه دور (بستگی به آنچه که ما نیاز داریم) وجود دارد، اما باید با دقت از این فرمانها برای اجتناب از حذف ناخواسته استفاده کنیم.
یک روش ایمنتر که ما میتوانیم commits را با استفاده از git برگردانیم git revert است. برای دیدن تاریخچه commit ابتدا باید از log - - oneline استفاده کنیم:
تاریخچهی commitهای شاخهی master
سپس ما فقط باید کد hash را در کنار commit خود مشخص کنیم که می خواهیم برگشت دهیم:
git revert 3321844
پس از این، صفحهای مانند زیر را مشاهده خواهید کرد - فقط کافی است shift + q را فشار دهید تا از آن خارج شوید:
فرمان revert git ،commit داده شده را برمیگرداند، اما commit جدیدی را بدون حذف نسخه قدیمی ایجاد میکند:
فایده استفاده از git revert این است که تاریخچه را دستکاری نمیکند. این به این معنی است که شما هنوز هم میتوانید تمام commitها را در تاریخچه خود ببینید، حتی آنهایی را که برگشت دادهاید.
یکی دیگر از اقدامات ایمنی در اینجا این است که همه چیز در سیستم محلی ما اتفاق میافتد مگر اینکه ما آنها را به مخزن بفرستیم. به همین دلیل revert git برای استفاده بی خطرتر است و روش ارجح برای برگشت دادن commitهای ما است.
۱۰. Git merge
زمانی که توسعه را در شاخه خود کامل کردید و همه چیز خوب کار میکند، مرحله نهایی ادغام شاخه با شاخه اصلی (dev / master) است. این کار با git merge انجام میشود.
merge Git اساساً شاخه feature شما را با تمام commitهای خود به شاخه dev (یا master) ادغام کند. مهم است که به یاد داشته باشید که ابتدا باید در شاخه خاصی که می خواهید با شاخه feature خود ادغام کنید، باشید.
برای مثال، زمانی که میخواهید شاخه feature را در شاخه dev ادغام کنید:
اول باید به شاخه dev سوئیچ کنید:
git checkout dev
قبل از ادغام، باید شاخه محلی dev را به روز کنید:
git fetch
در نهایت، شما میتوانید شاخه feature را در dev ادغام کنید:
git merge <branch-name>
نکته: قبل از ادغام شاخههای خود، مطمئن شوید که شاخه dev شما آخرین نسخه را دارد، در غیر این صورت ممکن است با مشکلات ناخواستهی دیگری روبرو شوید.
این 10 دستور پر استفادهای بود که من در طول روز از آنها استفاده میکنم. دستورات بیشتری هم وجود دارد که بهتر است آنها را هم یاد بگیرید و سعی میکنم در مقالات بعدی به آنها بپردازم.
و همچنین برای یادگیری بهتر میتوانید دورهی آموزشی git را در وبسایت راکت ببینید.
اگر سوال یا مشکلی در مورد این دستورات گیت دارید با ما در میان بگذارید، ما خوشحال میشویم اگر بتوانیم به شما کمک کنیم.
ممنون از وقتی که برای مطالعه مقاله گذاشتین.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید