آموزش دستورات گیت از ساده تا پیشرفته
گیت (git) یکی از پرطرفدارترین ابزارهای دِواپس (DevOps) است که برای مدیریت کارآمد پروژههای کوچک و بزرگ به کار گرفته میشود. این ابزار، همکاری بین افراد مختلف در بخشهای متفاوت یک پروژه را فراهم میآورد. Git بدون دستورات خود بیمعنا است، بنابراین در اینجا، تمامی اطلاعات مربوط به دستورات گیت که برای کار کردن کارآمد و مؤثر با این ابزار نیاز است، را ذکر خواهیم کرد. پس با ما باشید با جامعترین آموزش دستورات گیت.
گیت چیست؟
گیت نوعی ابزار کنترل نسخه است که به تیمهای توسعه نرمافزار کمک میکند تا تغییراتی که در فایلهای پروژهشان ایجاد میکنند را ثبت و نگهداری کنند. این امکان را به اعضای تیم میدهد که به راحتی با هم کار کنند و هر زمان که لازم باشد به نسخههای قبلی کار خود دسترسی داشته باشند. آموزش دستورات گیت برای همه کسانی که در یک پروژه کار میکنند، مفید است، چه برنامهنویس باشند و چه نه.
دو نوع مخزن در گیت استفاده میشوند:
- مخزن محلی (Local repository): مخزن محلی در کامپیوترِ شخصی ما وجود دارد و شامل تمام فایلها و پوشهها میشود. این مخزن برای ایجاد تغییرات به صورت محلی، بررسی تاریخچه و ثبت (کامیت) تغییرات هنگام آفلاین بودن استفاده میشود.
- مخزن کنترل از راه دور (Remote repository): مخزن ریموت به مخزن سروری اشاره دارد که میتواند در هر جایی باشد. این مخزن توسط تمام اعضای تیم برای مبادله تغییرات ایجادشده، استفاده میشود.
هر دو مخزن مجموعه دستورات خود را دارند. دستوراتِ مختلفی وجود دارند که بر روی انواع مختلف مخازن کار میکنند. برخی دستورات فقط برای مخزن لوکال که روی کامپیوتر شخصی شماست استفاده میشوند، مانند git commit یا git add. دستورات دیگری مانند git push یا git fetch برای تعامل با مخزن ریموت که معمولاً روی یک سرور قرار دارد، به کار میروند. این تفکیک به تیمها اجازه میدهد که به صورت همزمان روی پروژهها کار کنند و تغییرات خود را با دیگران به اشتراک بگذارند.
دستورات گیت: کار با مخازن محلی/لوکال
در ادامه به آموزش دستورات گیت محلی میپردازیم.
دستور git init
دستور git init برای ساخت یک مخزن گیت خالی به کار میرود. وقتی از این دستور استفاده میکنیم، یک پوشه git با چند زیرپوشه در محلی که دستور را اجرا کردیم، ساخته میشود. در شروع کار با گیت و البته بعد از اینکه مخزن آماده شد، میتوانیم فایلهای دیگری بسازیم.
git init |
دستور git add
دستور گیت ادد در آموزش دستورات گیت در لیست سادهترین و پایهترن آموزشهاست. دستور git add برای اضافه کردن فایلها به قسمتی از گیت به نام منطقه staging (آمادهسازی/مرحلهبندی) استفاده میشود که این کار پس از چک کردن وضعیت فایلها انجام میگیرد.
قبل از اینکه دستور ثبت تغییرات را اجرا کنیم، از گیت ادد، برای اضافه کردن فایلهای جدید یا تغییردادهشده به منطقه آمادهسازی استفاده میکنیم.
git add . |
دستور git commit
دستور git commit باعث میشود تغییراتی که ایجاد کردیم در مخزن محلی ما ذخیره بشوند. با استفاده از دستور git commit –m <message> میتوانیم توضیح دهیم که چه تغییراتی انجام دادهایم تا بقیه هم بتوانند متوجه شوند چه اتفاقی افتاده است.
“git commit -m “commit message |
دستور git status
این دستور به ما میگوید که الان روی کدام شاخه داریم کار میکنیم. اگر فایلهایی داریم که به منطقه مرحلهبندی اضافه کردیم اما هنوز ثبت نکردیم، git status این موضوع را نشان میدهد. اگر هم تغییری ایجاد نکردیم، پیامی میدهد که نشان میدهد هیچ تغییری برای ثبت وجود ندارد و دایرکتوری کاری تمیز است.
git status |
دستور git config
یکی دیگر از پایهترین آموزش دستورات گیت در مورد گیت گانفیگ است. دستور git config برای تنظیم اولیه نام کاربری و ایمیل در گیت به کار میرود. این دستور مشخص میکند که در مخزن Local از چه نام کاربری و آدرس ایمیلی استفاده شود.
اگر این دستور را با گزینه –global استفاده کنیم، تنظیمات را برای همه مخازن موجود در کامپیوتر اعمال میکند.
“git config –global user.name “any user name <git config –global user.email <email id |
دستور git branch
دستور git branch برای فهمیدن اینکه مخزن محلی ما الان روی کدام شاخه است، استفاده میشود. با این دستور میتوانیم شاخههای جدیدی اضافه کنیم یا شاخههایی که دیگر نیاز نداریم را حذف کنیم.
Create a new branch # |
List all remote or local branches # |
|
دستور git checkout
دستور git checkout برای رفتن به شاخهای دیگر و شروع کار روی آن شاخه به کار میرود. این دستور میتواند روی files, commits, and branches کار کند. یعنی میتوانید با استفاده از این دستور، بین شاخههای مختلف جابجا شوید، نسخههای مختلف فایلها را بازیابی کنید یا به کامیتهای خاصی بروید.
Checkout an existing branch # |
Checkout and create a new branch with that name # |
پیشنهاد مطالعه: آموزش گیت به زبان ساده + مراحل کامل نصب و راه اندازی
دستور git merge
دستور git merge برای ادغام کردن شاخههای مختلف در گیت به کار میرود. این دستور تغییراتی که در یک شاخه ایجاد شدهاند را با شاخه دیگری ترکیب میکند. این دستور معمولاً برای ادغام تغییراتی که در شاخهای برای آزمایش و آمادهسازی هستند، با شاخهای که نسخه نهایی و پایدار پروژه است، به کار میرود.
ڵgit merge <branch_name |
دستورات گیت از راه دور/ریموت
در این بخش از آموزش دستورات گیت به آموزش دستورات ریموت میپردازیم.
دستور git remote
دستور git remote برای ساختن، دیدن و پاک کردن ارتباطات با مخازن دیگری که جای دیگری هستند، به کار میرود.
این ارتباطات مثل لینکهای مستقیم به مخازن دیگر نیستند، بلکه بیشتر شبیه به نشانکهایی هستند که اسمهای راحتی دارند تا بتوانیم به عنوان مرجع از آنها استفاده کنیم.
<git remote add origin <address |
دستور git clone
دستور git clone برای ساختن یک نسخه کاری محلی از یک مخزن ریموت که قبلاً وجود دارد، به کار میرود. این دستور کل مخزن ریموت را به کامپیوتر شما دانلود میکند. این کار تقریباً مشابه با ایجاد یک مخزن جدید با دستور git init است، با این تفاوت که شما با یک مخزن ریموت کار میکنید.
<git clone <remote_URL |
دستور git pull
دستور Pull در گیت برای گرفتن و ادغام کردن تغییراتی که در مخزن ریموت ایجاد شدهاند با مخزن محلی ما به کار میرود. وقتی از دستور git pull origin master استفاده میکنیم، همه فایلهایی که در شاخه اصلی مخزن ریموت هستند به مخزن محلی ما کپی میشوند. این کار به ما کمک میکند که آخرین تغییرات را داشته باشیم.
<git pull <branch_name> <remote URL |
دستور git push
دستور git push برای فرستادن تغییراتی که در مخزن محلی ایجاد کردیم به مخزن ریموت استفاده میشود. این دستور بعد از اینکه تغییراتی در مخزن محلی ایجاد کردیم و میخواهیم این تغییرات را با اعضای تیمی که در جای دیگری هستند، به اشتراک بگذاریم، به کار میرود. این کار به ما کمک میکند که کارهایی که انجام دادهایم را با دیگران هماهنگ کنیم.
git push -u origin master |
چند دستور پیشرفته گیت
رسیدیم به آخرین بخش آموزش دستورات گیت و معرفی دستورات پیشرفتهای که در گیت بسیار کاربردی هستند.
پیشنهاد مطالعه: آموزش نصب git بر روی لینوکس
دستور git stash
دستور git stash برای ذخیره موقت تغییراتی که روی فایلها ایجاد کردیم و هنوز تمام نشدهاند، به کار میرود. این تغییرات در جایی ذخیره میشوند که بعداً میتوانیم دوباره آنها را برگردانیم. اگر بخواهیم به کارمان برگردیم، میتوانیم از دستور stash pop استفاده کنیم.
این دستور به توسعهدهندگان این امکان را میدهد که بدون اینکه کار ناتمامی را ثبت کنند، بین شاخهها جابجا شوند و روی کار دیگری تمرکز کنند. این میتواند در مواقعی که نیاز به تغییر فوری کار وجود دارد، مفید باشد.
Store current work with untracked files # |
Bring stashed work back to the working directory # |
دستور git log
این دستور نیز در آموزش دستورات گیت، در لیست دستورات پیشرفته است دستور git log برای دیدن تاریخچه تغییراتی commit (کامیتها) که در مخزن ایجاد شدهاند، به کار میرود.
این دستور به ما کمک میکند تا متوجه شویم که شاخهای که الان روی آن کار میکنیم، چطور به این وضعیت رسیده است، با نشان دادن تغییراتی که در گذشته ایجاد شدهاند.
git log |
سخن پایانی
امیدواریم که این آموزش دستورات گیت به شما کمک کرده باشد تا دستورات مفید مختلف در گیت را درک کنید. شما مبانی گیت و دستورات مختلفی که استفاده میشوند را آموختهاید. همچنین دستورات پایه گیت و پیشرفته را نیز دیدهاید. بر اساس مخزنی که در آن استفاده میشوند و به دنبالِ آن برخی دستورات پیشرفته. متوجه شدیم که هر یک از دستورات ذکر شده چه کاری انجام میدهند و همچنین با نحو هر دستور آشنا شدیم.
آموزش گیت در مکتب خونه
برای کسب تخصص در اصول توسعه و استقرار مداوم، خودکارسازی مدیریت پیکربندی، همکاری بین تیمی و چابکی خدمات IT، با استفاده از ابزارهای DevOps مانند گیت، داکر، جنکینز، کوکامبر، انسیبل، تیمسیتی و ناگیوس، میتوانید به دورههای آموزش گیت و مابقی دورههای مکتب خونه مراجعه کنید.
آقا چرا از git fetch چیزی ننوشتین؟
سلام. میتوانید این مطلب را برای این موضوع متالعه کنید:
https://maktabkhooneh.org/mag/git-fetch-command/