شاخه‌ها و ادغام

شاخه بسازی، ادغام کنی و تعارض (conflict) را بخوانی و حل کنی.

16 دقیقه مطالعه · 5 سؤال تمرینی · Git و GitHub برای شروع کار تیمی

شاخه (branch) چیست؟

شاخه یک اشاره‌گر سبک به یک commit است. با آن می‌توانید یک قابلیت را جدا از main توسعه دهید و وقتی آماده شد ادغام کنید.

git switch -c feature-login     # ساخت و رفتن به شاخه‌ی جدید
git switch main                 # برگشت
git merge feature-login         # ادغام شاخه در شاخه‌ی فعلی
git branch -d feature-login     # حذف شاخه‌ی ادغام‌شده

اگر در main از زمان انشعاب هیچ commit تازه‌ای نیامده باشد، merge به‌صورت fast-forward انجام می‌شود (فقط اشاره‌گر جلو می‌رود). اگر هر دو شاخه تغییر کرده باشند Git یک merge commit می‌سازد.

تعارض (conflict)

وقتی دو شاخه یک خط از یک فایل را متفاوت تغییر داده باشند، Git نمی‌داند کدام درست است و علامت می‌گذارد:

<<<<<<< HEAD
نسخه‌ی شاخه‌ی فعلی
=======
نسخه‌ی شاخه‌ی ادغام‌شونده
>>>>>>> feature-login

راه حل: فایل را دستی ویرایش کنید (علامت‌ها را حذف و نسخه‌ی نهایی را بنویسید)، سپس git add file و git commit. تعارض خطا یا خرابی نیست؛ بخشی عادی از کار تیمی است.

تمرین‌های این درس را حل کن (رایگان)