Git
گیت (Git)
این صفحه یادداشتهای مروری دربارهٔ کار با گیت است. هدف: یادگیری، مرور سریع و داشتن یک مرجع از دستورات و الگوهای پرکاربرد.
چرا گیت مهم است؟
- سیستم نسخهی توزیعشده
- ذخیرهٔ تاریخچهٔ تغییرات
- همکاری گروهی و بازگشت آسان به_states_
- شاخهبندی و ترکیب تغییرات
- پایهٔ بسیاری از جریانهای توسعه نرمافزار
نصب و تنظیم اولیه
نصب
جهت نصب از مسیر رسمی یا مدیریت بستهٔ سیستمعامل استفاده کنید. نسخهٔ نصبشده را اینگونه چک کنید:
<syntaxhighlight lang="bash"> git --version </syntaxhighlight>
تنظیمات اولیه کاربر
<syntaxhighlight lang="bash"> git config --global user.name "نام و نام خانوادگی" git config --global user.email "email@example.com" </syntaxhighlight>
مشاهده تنظیمات
<syntaxhighlight lang="bash"> git config --list </syntaxhighlight>
مفاهیم پایه
- مخزن Repository: محل نگهداری پروژه و تاریخچه
- Commit: نقطه ذخیره در تاریخچه
- Branch: خط توسعهٔ مستقل
- Merge / Rebase: ترکیب تغییرات بین شاخهها
- Staging area: محل آمادهسازی تغییرات قبل از Commit
- Remote: مخزن دورتر مثل سرویس میزبانی
دستورات پرکاربرد
شروع پروژه
<syntaxhighlight lang="bash"> git init git status </syntaxhighlight>
افزودن و ثبت تغییرات
<syntaxhighlight lang="bash"> git add . git commit -m "توضیح کوتاه از تغییرات" </syntaxhighlight>
بررسی وضعیت و تاریخچه
<syntaxhighlight lang="bash"> git status git log git log --oneline </syntaxhighlight>
کار با شاخهها
<syntaxhighlight lang="bash"> git branch git branch feature-x git switch feature-x git switch main </syntaxhighlight>
کار با مخزن دورتر
<syntaxhighlight lang="bash"> git remote add origin <آدرس> git push -u origin main git pull git clone <آدرس> </syntaxhighlight>
مقایسه تغییرات
<syntaxhighlight lang="bash"> git diff git diff --staged </syntaxhighlight>
روند کاری ساده
۱. برای کار جدید یک شاخه جدید باز کنید. ۲. تغییرات را stage کنید. ۳. یک Commit با پیام مشخص بزنید. ۴. تغییرات را به مخزن دورتر بفرستید یا با تیم همگام شوید. ۵. در صورت نیاز، Merge یا Rebase را در شاخهٔ اصلی انجام دهید.
عادات خوب
- پیام Commit واضح و کوتاه باشد.
- Commitهای بزرگ را به قطعات کوچکتر بشکنید.
- قبل از Push، Status و Diff را چک کنید.
- بهجای کار مستقیم روی شاخه اصلی، از شاخههای کار específica استفاده کنید.