ترکیب کردن کار دو شاخه
وقتی کار روی یک شاخهی ویژگی تمام شد، باید آن را با شاخهی اصلی ترکیب کنیم. برای این کار ابتدا به شاخهی مقصد (معمولاً main) میرویم و سپس شاخهی منبع را merge میکنیم:
git switch main
git merge feature/login
گیت دو نوع merge اصلی دارد. اگر از زمان جدا شدن شاخهی feature، شاخهی main هیچ commit جدیدی نگرفته باشد، گیت یک fast-forward merge انجام میدهد؛ یعنی فقط اشارهگر main را جلو میبرد، بدون ساختن commit جدید. اما اگر هر دو شاخه پیشرفت جداگانه داشته باشند، گیت یک merge commit جدید میسازد که دو والد دارد و تاریخچهی هر دو شاخه را در خود نگه میدارد.
گراف تاریخچه پس از merge
با دستور زیر میتوان این ساختار دوشاخهای را بهصورت گرافیکی دید:
git log --oneline --graph --all
یک نکتهی مهم عملی: قبل از merge کردن، همیشه مطمئن شوید هر دو شاخه بهروز هستند و کد شما اجرا و تست میشود. بسیاری از تیمها بهجای merge مستقیم روی main، از Pull Request روی گیتهاب استفاده میکنند تا merge پس از بررسی کد انجام شود؛ موضوعی که در فصل مربوط به گیتهاب با جزئیات بررسی میکنیم.