مفهوم branching

پرسیده شده
فعالیت 1213 روز پیش
دیده شده 571 بار
1

با عرض سلام 

 

من یه مشکلی دارم تو درک مفهوم branch ها و کمی گیج کننده شده برام یه توضیحاتی میدم درست یا غلط بودنشو نمیدونم صرفا میخوام با طرز فکرم آشناشید

 

درمورد branch ها گفته میشه که مثلا اگه قراره دو نفر دو feature رو به صورت همزمان توسعه بدن بهتره دوتا شاخه بسازیم تا هر کدوم روی شاخه خودشون شروع به توسعه feature موردنظرشون کنند

 

من تو مخزن local خودم دارم فیچر ۱ رو توسعه میدم و نفر دوم هم تو مخزن local خودش داره فیچر ۲ رو توسعه میده با توجه به این که این دو مخزن جدا از هم هستن دیگه چه نیازه من بیام یه branch از شاخه اصلی جدا کنم و فیچرم رو روی شاخه فرعی توسعه بدم و وقتی توسعه فیچر تموم شد اونو دوباره با شاخه اصلی ادغام کنم؟

 

اگه کلا یدونه مخزن داشتیم اون موقع اینکار معنی میداد برای اینکه بی نظمی ایجاد نشه دو تا شاخه از شاخه اصلی جدا می‌کردیم تا هر کی رو شاخه خودش کار کنه ولی حالا که هر کی یه کپی از مخزن اصلی داره اینکار به چه دردی میخوره؟

 

من تو مخزن local خودم رو همون شاخه اصلی فیچرم رو توسعه میدم حالا هر اتفاقی هم بیوفته میتونم برگردم به شرایط قبل از توسعه فیچرم نفر دوم هم میتونه همین کارو بکنه و تا زمانی که  از دستور push استفاده نکنیم تغییری در مخزن اصلی ایجاد نمیشه

 

ممنون میشم اگه یه تعریف درستی از branch ها بدین

فایل پیوست

علی.
علی.

1 دی 99

2
حذف شده

من تو مخزن local خودم دارم فیچر ۱ رو توسعه میدم و نفر دوم هم تو مخزن local خودش داره فیچر ۲ رو توسعه میده با توجه به این که این دو مخزن جدا از هم هستن دیگه چه نیازه من بیام یه branch از شاخه اصلی جدا کنم و فیچرم رو روی شاخه فرعی توسعه بدم و وقتی توسعه فیچر تموم شد اونو دوباره با شاخه اصلی ادغام کنم؟

اگر هر کدوم برا خودش داره پروژه را میبره جلو که  هر جور راحته(درست و غلطش به کنار)  شاید تشخیص بدید اصلا نیازی به سیستم ورژن کنترل نیست اما اگر هر دو نفر دارن رو یه پروژه با VCS کار میکنند  اون پروژه  یه شاخه اصلی داره که اگر هر  دو  رو شاخه  اصلی کار کنن بعد ممکنه   جدای از نظم و … ممکنه فایل های هم نام به وجود بیاد و تداخل ایجاد کنه که پیدا کردنش مشکله و سختی های خودش رو داره اما شما وقتی از vcs استفاده میکنی  و شاخه تون رو با شاخه اصلی ادغام میکنید بهتون میگه کجا  تداخل ایجاد شده و برطرفش میکنید

 مثلا همین انجمن سون لرن رو در نظر بگیرید سه نفر باید روش کار کنند   (الف)  باید ویژگی ویرایشگر رو بسازه (ب) باید ویژگی ستون سوال های مرتبط (ج) هم باید ویژگی ایجاد موضع جدید رو اضافه کنه 

اگر شما از git استفاده نمی کردید هر کدوم  کار خودش رو انجام میداد بعد از تمام شدن همه وظیفه ها ،حالا باید همه رو مجتمع کرد که این صفحه ساخته بشه.  آیا چنین چیزی ممکن بود؟ قطعا ممکن بود اما پدر ادم در میومد و کلی  بدبختی  باید میکشیدیم  تا به production برسه تاز این پروژه ساده  بود اگر پروژه بزرگتر بود تقریبا کل تیم در یه حلقه شبه while  گیر می کردیم و...

اما شما وقتی هر ویژگی  رو در یک شاخه جدید توسعه بدید بعد از تمام شدن خیلی راحت با شاخه اصلی ادغام میکنید 

اگر تداخلی ایجاد  نشد و  ومدیر فنی هم قبولش کرد با کمترین دردسر به شاخه اصلی اضافه  میشه

 

ممنون میشم اگه یه تعریف درستی از branch ها بدین

برداشت شخصیم:در واقع  branch ایجاد شده تا توسعه دهنده ها کمتر به جون هم بیوفتن و هر کدوم یه شاخه  از پروژه اصلی رو در اختیار بگیرند و با به حداقل رسوندن چالش ها ببرن جلو

 

فایل پیوست

مهرداد

توسط

مهرداد

11 دی 99