دستورات گیت–10 کد ترمینالی که هر توسعه‌دهنده‌ای باید بداند

ترجمه و تالیف : امیرحسین بَزی
تاریخ انتشار : 21 فروردین 99
خواندن در 4 دقیقه
دسته بندی ها : برنامه نویسی

گیت بخش مهمی از برنامه نویسی روزانه است (به‌خصوص اگر با یک تیم کار می‌کنید) و همچنین به طور گسترده در صنعت نرم‌افزار مورد استفاده قرار می‌گیرد.

از آنجا که دستورات مختلف زیادی وجود دارد که می‌توانید از آن‌ها استفاده کنید، برای همین تسلط بر گیت زمان می‌برد. اما بعضی از دستورات بیشتر و بیشتر استفاده می‌شوند (به طور معمول هر روز). بنابراین در این پست، 10 دستور پر استفاده گیت را که هر توسعه‌دهنده باید بداند را در توضیح می‌دهم.

توجه: برای درک این مقاله، باید اصول اولیه گیت را بدانید.

۱. Git clone

clone یک فرمان برای دانلود کد منبع موجود از یک مخزن است. به عبارت دیگر، اگر بخواهیم بر روی کامپیوتر خود یک کپی از پروژه‌ای که داخل مخزن گیت‌هاب است، بگیریم و بر روی آن تغییرات ایجاد کنیم از دستور clone استفاده می‌کنیم.

چندین روش برای دانلود کد منبع وجود دارد، اما اغلب ترجیح می‌دهم آن را با روش "https" دانلود کنم:

git clone <https://name-of-the-repository-link>

به عنوان مثال، اگر ما بخواهیم پروژه‌ای را از Github دانلود کنیم، تمام کاری که باید انجام دهیم این است که روی دکمه سبز (clone or download) کلیک کنیم، URL داخل کادر را کپی می‌کنیم و بعد از دستور git clone که در بالا به آن اشاره کردم جایگذاری می‌کنیم.

دستورات گیت–10 کد ترمینالی که هر توسعه‌دهنده‌ای باید بداند

با این کار شما یک کپی از کد را بر روی سیستم خود دارید و می‌توانید روی آن تغییراتی را اعمال کنید.

۲. 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
  • فایل‌هایی که ایجاد کردیم، اصلاح شده یا حذف شده‌اند

دستورات گیت–10 کد ترمینالی که هر توسعه‌دهنده‌ای باید بداند

Git status اطلاعاتی درباره شاخه و فایل‌ها به ما می‌دهد.

۵. Git add

هنگامی‌که ما یک فایل ایجاد، اصلاح یا حذف می‌کنیم، این تغییرات به صورت محلی رخ خواهند داد و در commit بعدی گنجانده نخواهد شد (مگر اینکه پیکربندی را تغییر دهیم).

ما باید از دستور git add استفاده کنیم تا تغییرات پرونده (ها) را در commit بعدی خود بگنجانیم.

دستور اضافه کردن یک فایل

git add <file>

دستور اضافه کردن تمام فایل‌ها

git add -A

هنگامی که عکس بالا در بخش چهارم را نگاه می‌کنید، خواهید دید که نام‌ فایل‌ها قرمز هستند - این به این معنی است که آن‌ فایل‌ها هنوز اضافه نشده‌اند. فایل‌های اضافه نشده را نمی‌توان commit کرد.

برای commit کردن ابتدا باید آن‌ها را با استفاده دستور git add اضافه کنیم.

دستورات گیت–10 کد ترمینالی که هر توسعه‌دهنده‌ای باید بداند

وقتی رنگ فایل سبز است یعنی به درستی اضافه شده‌اند

نکته مهم: دستور 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 استفاده کنیم:

دستورات گیت–10 کد ترمینالی که هر توسعه‌دهنده‌ای باید بداند

تاریخچه‌ی commitهای شاخه‌ی master

سپس ما فقط باید کد hash را در کنار commit خود مشخص کنیم که می خواهیم برگشت دهیم:

git revert 3321844

پس از این، صفحه‌ای مانند زیر را مشاهده خواهید کرد - فقط کافی است shift + q را فشار دهید تا از آن خارج شوید:

دستورات گیت–10 کد ترمینالی که هر توسعه‌دهنده‌ای باید بداند

فرمان revert git ،commit داده شده را برمی‌گرداند، اما commit جدیدی را بدون حذف نسخه قدیمی ایجاد می‌کند:

دستورات گیت–10 کد ترمینالی که هر توسعه‌دهنده‌ای باید بداند

فایده استفاده از 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 را در وبسایت راکت ببینید.

اگر سوال یا مشکلی در مورد این دستورات گیت دارید با ما در میان بگذارید، ما خوشحال می‌شویم اگر بتوانیم به شما کمک کنیم.

ممنون از وقتی که برای مطالعه مقاله گذاشتین.

منبع 

گردآوری و تالیف امیرحسین بَزی

یک طراح گرافیک علاقمند به React JS