چگونه از branch برای مدیریت کدها در گیت استفاده کنیم؟

استفاده از گیت در اکثر پروژه های نرم افزاری امروز به یک استاندارد تبدیل شده است.

برای فهم کلی گیت پیشنهاد می کنم اول این ویدیو فوق العاده را ببینید.

در مخرن مرکزی (central repo)، دو شاخه اصلی وجود دارد که در کل طول عمر پروژه وجود دارند:

  • شاخه origin/master: کد در حالت پایدار و اماده تولید (production ready) در این شاخه نگهداری می شود.
  • شاخه origin/develop: به موازات master به حیات خود ادامه می دهد و شامل کدهایی است که توسعه دهندگان بر روی آن کار می کنند.
شاخه Develop و شاخه Master در طول پروژه وجود دارند.
شاخه Develop و شاخه Master در طول پروژه وجود دارند.

هر زمانی که کدها در شاخه Master، کامیت می شود یک نسخه جدید از نرم افزار عملیاتی به وجود می آید.

علاوه بر شاخه های بالا، شاخه های پشتیبان هم در پروژه وجود دارد که شامل سه نوع زیر است:

  • شاخه توسعه ویژگی

هر یک از توسعه دهندگان که روی یک ویژگی از نرم افزار کار می کند، می تواند در ماشین لوکال خود یک شاخه جدید برای توسعه ویژگی بسازد. پس از نهایی شدن ویژگی، کد های این شاخه در شاخه develop ادغام (Merge) می شود. استفاده از شاخه ویژگی کمک می کند هر یک از اعضا مستقل از سایر اعضا به توسعه ویژگی‌ها بپردازد.

Feature Branch and Develop Branch
Feature Branch and Develop Branch


  • شاخه ریلیز

وقتی که تست های لازم بر روی کد شاخه develop انجام شد، یک شاخه ریلیز بسازید، در این شاخه هیچ ویژگی جدید توسعه پیدا نمی کند و صرفا باگ های احتمالی فیکس می شود. در انتهای این شاخه کد نهایی هم در شاخه develop و هم در شاخه master، ادغام می شود.

شاخه ریلیز
شاخه ریلیز
  • شاخه رفع باگ

اگر احیانا در کد شاخه master، باگی دیدید، یگ شاخه رفع باگ بسازید، باگ را فیکس کنید و نهایتا در شاخه master ادغام نمایید.

شاخه باگ فیکس
شاخه باگ فیکس

کلیات ایده های ارائه شده در شکل های بالا در شکل زیر نمایش داده شده است.

https://nvie.com/posts/a-successful-git-branching-model/?بع:
https://nvie.com/posts/a-successful-git-branching-model/?بع: