مقدمه
داشتن یک «جریان کاری» (Workflow) مشخص و استاندارد برای یک تیم توسعه نرمافزار، مانند
داشتن نقشه برای یک سفر است. جریان کاری مشخص میکند که تیم چگونه از ابزارهایی مانند گیت و گیتهاب
برای توسعه، بازبینی و انتشار کد استفاده کند. مدلهای مختلفی برای این کار وجود دارد (مانند
GitFlow، GitLab Flow)، اما یکی از سادهترین و محبوبترین آنها، جریان کاری
گیتهاب (GitHub Flow) است.
این مدل توسط خود گیتهاب برای تیمهایش توسعه داده شده و بر پایه مفاهیمی چون برنچها و Pull
Requestها استوار است. سادگی آن باعث شده تا برای اکثر پروژهها، به خصوص آنهایی که از مدل
استقرار مداوم (Continuous Deployment) پیروی میکنند، بسیار کارآمد باشد.
مراحل عملی GitHub Flow
بیایید این اصول را در قالب یک چرخه عملی مرور کنیم.
مرحله ۱: ساختن برنچ
کار شما همیشه با ساختن یک برنچ جدید از آخرین نسخه main شروع میشود. نام برنچ باید کوتاه و
توصیفی باشد تا هدف آن را به وضوح نشان دهد.
git checkout -b feature/user-profile
مرحله ۲: اضافه کردن کامیت
حالا میتوانید کار کدنویسی را روی این برنچ جدید شروع کنید. کامیتهای خود را به صورت اتمی و با
پیامهای واضح ثبت کنید. به طور منظم تغییرات خود را به سرور push کنید:
git push origin feature/user-profile
مرحله ۳: باز کردن Pull Request
وقتی احساس کردید کارتان نیاز به بازبینی دارد، به گیتهاب رفته و یک Pull Request از برنچ
خود به برنچ main باز کنید. در توضیحات PR، هدف تغییرات خود را به وضوح شرح دهید و به
Issue مربوطه ارجاع دهید.
مرحله ۴: بحث و بازبینی
در این مرحله، همکاران شما کد را بررسی میکنند. ممکن است در مورد بخشهایی از کد سوال بپرسند یا
پیشنهاداتی برای بهبود آن ارائه دهند. اگر نیاز به تغییر باشد، شما کامیتهای جدیدی را روی همان
برنچ محلی خود اضافه کرده و دوباره push میکنید. Pull Request به صورت خودکار با
تغییرات جدید بهروزرسانی میشود.
مرحله ۵ و ۶: استقرار و ادغام (Deploy and Merge)
یکی از ویژگیهای مهم GitHub Flow، ایده «استقرار از برنچ» قبل از ادغام نهایی است. برخی
تیمها ابتدا برنچ Pull Request را روی یک سرور آزمایشی (Staging) مستقر میکنند تا
از عملکرد صحیح آن در یک محیط واقعی مطمئن شوند.
پس از اینکه تمام تستها با موفقیت انجام شد و کد شما تایید نهایی را از تیم دریافت کرد، میتوانید
با خیال راحت روی دکمه سبز رنگ Merge کلیک کنید. تغییرات شما اکنون بخشی از برنچ main
است و باید فوراً برای کاربران نهایی نیز منتشر شود. پس از ادغام، برنچ کاری شما دیگر نیازی نیست و
میتوانید آن را حذف کنید.