مهدی مشایخی
مهدی مشایخی
خواندن ۷ دقیقه·۲ سال پیش

10 دستور Git که هر توسعه دهنده ای باید بداند!

مهترین دستورات گیت - مهدی مشایخی
مهترین دستورات گیت - مهدی مشایخی

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

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

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

1. Git Clone

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

چند راه برای دانلود کد منبع وجود دارد، اما من بیشتر شبیه سازی را با روش https ترجیح می دهم :

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

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

گیت کلون - مهدی مشایخی
گیت کلون - مهدی مشایخی

با این کار یک کپی از پروژه در فضای کاری محلی شما ایجاد می شود تا بتوانید کار با آن را شروع کنید.

2. Git branch

شاخه ها در دنیای git بسیار مهم هستند. با استفاده از شاخه ها، چندین توسعه دهنده می توانند به طور موازی روی یک پروژه به طور همزمان کار کنند. می‌توانیم از دستور git branch برای ایجاد، فهرست‌بندی و حذف شاخه‌ها استفاده کنیم.

ایجاد شاخه جدید:

git branch <branch-name>

این دستور یک شاخه به صورت محلی ایجاد می کند. برای فشار دادن شاخه جدید به مخزن راه دور، باید از دستور زیر استفاده کنید:

git push -u <remote> <branch-name>

مشاهده شاخه:

git branch or git branch --list

حذف شاخه:

git branch -d <branch-name>

3. Git checkout

این یکی از پرکاربردترین دستورات Git است. برای کار در یک شعبه، ابتدا باید به آن سوئیچ کنید. ما از git checkout بیشتر برای جابجایی از یک شاخه به شاخه دیگر استفاده می کنیم. همچنین می توانیم از آن برای بررسی فایل ها و commit ها استفاده کنیم.

git checkout <name-of-your-branch>

برای جابجایی موفقیت آمیز بین شاخه ها باید مراحلی را دنبال کنید:

  • تغییرات در شعبه فعلی شما باید قبل از اینکه تغییر دهید، تایید شوند.
  • شاخه ای که می‌خواهید بررسی کنید باید در لوکال شما وجود داشته باشد

همچنین یک دستور میانبر وجود دارد که به شما امکان می دهد همزمان یک شاخه را ایجاد کرده و به آن سوئیچ کنید:

git checkout -b <name-of-your-branch>

این دستور یک شاخه جدید در محلی شما ایجاد می کند (-b مخفف شاخه است) و شعبه را بلافاصله پس از ایجاد به new بررسی می کند.

4. Git status

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

git status

ما می توانیم اطلاعاتی مانند:

  • آیا شاخه فعلی به روز است یا خیر
  • چه چیزی برای ارتکاب، فشار دادن یا کشیدن وجود داشته باشد
  • این که آیا فایل های مرحله بندی شده، بدون مرحله یا ردیابی نشده وجود دارد
  • این که آیا فایل هایی ایجاد، اصلاح یا حذف شده اند
وضعیت فایل های گیت قبل از وارد شدن به استیج - مهدی مشایخی
وضعیت فایل های گیت قبل از وارد شدن به استیج - مهدی مشایخی


5. Git add

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

ما باید از دستور git add استفاده کنیم تا تغییرات یک فایلها را در commit بعدی خود وارد کنیم.

برای اضافه کردن یک فایل:

git add <file>

برای اضافه کردن همه چیز به یکباره:

git add -A

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

برای گنجاندن آنها، باید از git add استفاده کنیم:

فایل های پروژه در استیج - مهدی مشایخی
فایل های پروژه در استیج - مهدی مشایخی


مهم: دستور git add مخزن را تغییر نمی‌دهد و تا زمانی که از git commit استفاده نکنیم، تغییرات ذخیره نمی‌شوند.

6. Git commit

این شاید پرکاربردترین دستور Git باشد. هنگامی که به نقطه خاصی در توسعه رسیدیم، می خواهیم تغییرات خود را ذخیره کنیم (شاید بعد از یک کار یا مشکل خاص).

دستور Git commit مانند تعیین یک چک پوینت در فرآیند توسعه است که در صورت نیاز می توانید بعداً به آن بازگردید.

همچنین باید یک پیام کوتاه بنویسیم تا توضیح دهیم که چه چیزی در کد منبع ایجاد یا تغییر داده ایم.

git commit -m &quotcommit message&quot
مهم: Git commit تغییرات شما را فقط به صورت محلی ذخیره می کند.

7. Git push

پس از انجام تغییرات خود، کاری که می خواهید انجام دهید این است که تغییرات خود را به سرور راه دور ارسال کنید. Git push تعهدات شما را در مخزن راه دور آپلود می کند.

git push <remote> <branch-name>

با این حال، اگر شعبه شما به تازگی ایجاد شده است، باید شاخه را نیز با دستور زیر آپلود کنید:

git push --set-upstream <remote> <name-of-your-branch>

یا

git push -u origin <branch_name>
مهم: Git push فقط تغییراتی را آپلود می کند که commit شده اند.

8. Git pull

دستور git pull برای دریافت به روز رسانی از مخزن راه دور استفاده می شود. این دستور ترکیبی از git fetch و git merge است که به این معنی است که وقتی از git pull استفاده می کنیم، به روز رسانی ها را از مخزن راه دور (git fetch) دریافت می کند و بلافاصله آخرین تغییرات را در محلی شما اعمال می کند (git merge).

git pull <remote>
این عملیات ممکن است باعث تداخل هایی شود که باید به صورت دستی آن را حل کنید.

9. Git Revert

گاهی اوقات لازم است تغییراتی را که ایجاد کرده ایم لغو کنیم. راه های مختلفی برای لغو تغییرات به صورت محلی یا از راه دور (بستگی به نیاز ما دارد) وجود دارد، اما برای جلوگیری از حذف ناخواسته باید از این دستورات به دقت استفاده کنیم.

یک راه امن‌تر که می‌توانیم commit‌ هایمان را لغو کنیم، استفاده از git revert است. برای دیدن تاریخچه commit خود، ابتدا باید از git log -- oneline استفاده کنیم:

دستور گیت ریورت - مهدی مشایخی
دستور گیت ریورت - مهدی مشایخی


سپس ما فقط باید کد هش را در کنار commit خود مشخص کنیم که می خواهیم آن را لغو کنیم:

git revert 3321844

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

دستور گیت برگشت به نسخه قبلی پروژه - مهدی مشایخی
دستور گیت برگشت به نسخه قبلی پروژه - مهدی مشایخی

دستور Git revert commit داده شده را لغو می کند، اما یک commit جدید بدون حذف قدیمی تر ایجاد می کند:

مزیت استفاده از git revert این است که تاریخچه commit را لمس نمی کند. این به این معنی است که شما هنوز هم می توانید تمام commit های موجود در تاریخ خود را ببینید، حتی آنهایی که برگردانده شده اند.

یکی دیگر از اقدامات ایمنی در اینجا این است که همه چیز در سیستم محلی ما اتفاق می افتد مگر اینکه آنها را به مخزن از راه دور فشار دهیم. به همین دلیل است که استفاده از git revert ایمن‌تر است و بهترین راه برای لغو تعهدات ما است.

10. Git merge

هنگامی که توسعه را در شعبه خود تکمیل کردید و همه چیز به خوبی کار کرد، مرحله نهایی ادغام شعبه با شاخه اصلی (dev یا master) است. این کار با git mergeدستور انجام می شود.

ادغام Git اساساً شاخه ویژگی شما را با تمام تعهدات آن به شاخه dev (یا master) ادغام می کند. مهم است که به یاد داشته باشید که ابتدا باید در شاخه خاصی باشید که می خواهید با شاخه ویژگی خود ادغام کنید.

به عنوان مثال، وقتی می خواهید شاخه ویژگی خود را در شاخه dev ادغام کنید:

ابتدا باید به شاخه dev تغییر دهید:

git checkout dev

قبل از ادغام، باید شعبه توسعه دهنده محلی خود را به روز کنید:

git fetch

در نهایت، می توانید شاخه ویژگی خود را در توسعه دهنده ادغام کنید:

git merge <branch-name>

نکته: قبل از ادغام شاخه های خود، مطمئن شوید که شعبه توسعه دهنده شما آخرین نسخه را دارد، در غیر این صورت ممکن است با تداخل یا مشکلات ناخواسته دیگری مواجه شوید.

بنابراین اینها 10 دستور git پر استفاده من هستند که در برنامه نویسی روزانه خود با آنها مواجه می شوم. چیزهای زیادی برای یادگیری در مورد Git وجود دارد که بعداً در مقالات جداگانه آنها را توضیح خواهم داد.


ممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.

ارتباط با من :

وبسایت : mahdimashayekhi.ir

گیت هاب: MahdiMashayekhi-AI

لینکدین: MahdiMashayekhi

توییتر: Mashayekhi_AI

یوتیوب: MahdiMashayekhi

اینستاگرام: MahdiMashayekhi.ai

مهدی مشایخیگیتگیت هابgitتوسعه دهنده
مهدی مشایخی هستم. برنامه نویس هوش مصنوعی و پایتون در زمینه یادگیری ماشینی و عمیق. به همه کمک میکنم تا با هم رشد کنیم! من در توییتر: https://twitter.com/Mashayekhi_AI
شاید از این پست‌ها خوشتان بیاید