بحث رده:Git

از shakiba
نسخهٔ تاریخ ۶ سپتامبر ۲۰۲۶، ساعت ۰۵:۵۷ توسط Admin (بحث | مشارکت‌ها) (صفحه‌ای تازه حاوی «== Git == Category:Git Git یه سیستم '''کنترل نسخه (Version Control System)''' هست که بهت اجازه میده تاریخچه‌ی تغییرات فایل‌ها و کدهات رو ذخیره کنی، به نسخه‌های قبلی برگردی، و با چند نفر همزمان روی یه پروژه کار کنی بدون اینکه کارها رو خراب کنید. === مفاهیم پایه | Basic Co...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

Git

Git یه سیستم کنترل نسخه (Version Control System) هست که بهت اجازه میده تاریخچه‌ی تغییرات فایل‌ها و کدهات رو ذخیره کنی، به نسخه‌های قبلی برگردی، و با چند نفر همزمان روی یه پروژه کار کنی بدون اینکه کارها رو خراب کنید.

مفاهیم پایه | Basic Concepts

  • Repository (Repo): پوشه‌ای که Git توش تاریخچه‌ی تغییرات رو ذخیره می‌کنه.
  • Commit: یه "عکس لحظه‌ای" (snapshot) از وضعیت فایل‌ها در یه لحظه خاص، همراه با یه پیام توضیحی.
  • Branch: یه مسیر جدا برای توسعه، که بهت اجازه میده بدون تأثیر روی نسخه‌ی اصلی، تغییرات بدی.
  • Merge: ترکیب کردن تغییرات دو Branch با هم.
  • Remote: نسخه‌ای از Repo که روی یه سرور دیگه (مثل GitHub) قرار داره.
  • Working Directory: فایل‌های واقعی روی سیستم تو.
  • Staging Area (Index): جایی که تغییرات رو قبل از Commit کردن آماده می‌کنی.

راه‌اندازی اولیه | Initial Setup

<syntaxhighlight lang="bash"> git config --global user.name "نام شما" git config --global user.email "you@example.com" </syntaxhighlight>

شروع یه پروژه | Starting a Project

<syntaxhighlight lang="bash"> git init # ساخت یه Repo جدید در پوشه فعلی git clone <url> # کپی کردن یه Repo از یه آدرس ریموت </syntaxhighlight>

چرخه‌ی اصلی کار | Basic Workflow

<syntaxhighlight lang="bash"> git status # دیدن وضعیت فعلی فایل‌ها git add <file> # اضافه کردن فایل به Staging Area git add . # اضافه کردن همه فایل‌های تغییر یافته git commit -m "پیام توضیحی" # ثبت تغییرات git log # دیدن تاریخچه Commit ها </syntaxhighlight>

کار با Branch

<syntaxhighlight lang="bash"> git branch # لیست Branch ها git branch new-feature # ساخت Branch جدید git checkout new-feature # رفتن به یه Branch git checkout -b new-feature # ساخت و رفتن همزمان git switch new-feature # روش جدیدتر برای جابجایی بین Branch ها git merge new-feature # ادغام یه Branch با Branch فعلی git branch -d new-feature # حذف یه Branch </syntaxhighlight>

کار با Remote (مثل GitHub)

<syntaxhighlight lang="bash"> git remote add origin <url> # اضافه کردن یه ریموت git push origin main # ارسال تغییرات به ریموت git pull origin main # دریافت و ادغام تغییرات از ریموت git fetch # فقط دریافت تغییرات بدون ادغام </syntaxhighlight>

برگشت به عقب و اصلاح اشتباهات

<syntaxhighlight lang="bash"> git checkout -- <file> # لغو تغییرات یه فایل (قبل از add) git reset <file> # خارج کردن فایل از Staging Area git reset --hard HEAD~1 # حذف کامل آخرین Commit (با احتیاط!) git revert <commit-hash> # ساخت یه Commit جدید که تغییرات یه Commit قبلی رو خنثی می‌کنه </syntaxhighlight>

فایل .gitignore

فایلی که بهش می‌گی Git کدوم فایل‌ها/پوشه‌ها رو نادیده بگیره (مثل node_modules، فایل‌های موقت، تنظیمات شخصی).

<syntaxhighlight lang="text"> node_modules/ .env

  • .log

</syntaxhighlight>

اصطلاحات پرکاربرد دیگر

  • HEAD: اشاره‌گر به Commit یا Branch فعلی.
  • Stash: ذخیره‌ی موقت تغییرات ناتموم بدون Commit کردن (git stash و git stash pop).
  • Conflict: وقتی دو Branch تغییرات متناقض دارن و Git نمی‌تونه خودکار Merge کنه.
  • Fork: کپی کردن یه Repo کامل به اکانت خودت روی GitHub (نه دستور Git، بلکه یه قابلیت پلتفرم).
  • Pull Request (PR): درخواست برای ادغام تغییرات یه Fork/Branch به پروژه اصلی، معمولاً روی GitHub.

منابع بیشتر | Further Reading