هي برانچنگ حڪمت عملي، عجيب طور تي ڪافي، GitHub تي ترجيح ڏني وئي آهي :) اهو قاعدن جي هڪ سيٽ
سان اچي ٿو :
ماسٽر برانچ ۾ ڪوڊ ٽوڙڻ نه گهرجي. اهو ڪنهن به وقت مقرر ٿيڻ لاء تيار هجڻ گهرجي. اهو آهي، توهان کي اتي ڪوڊ نه رکڻ گهرجي جيڪو توهان کي پروجيڪٽ ٺاهڻ ۽ ان کي سرور تي لڳائڻ کان روڪيندو.
جڏهن توهان نئين ڪارڪردگي تي ڪم ڪرڻ جو منصوبو ٺاهيو ٿا، توهان کي ماسٽر برانچ جي بنياد تي هڪ نئين خصوصيت برانچ ٺاهڻ جي ضرورت آهي ۽ ان کي هڪ معني وارو نالو ڏيو. پنھنجي ڪوڊ کي مقامي طور تي موڪليو ۽ باقاعده پنھنجي تبديلين کي ريموٽ ريپوزٽري ۾ ساڳي برانچ ڏانھن ڇڪيو.
پل جي درخواست کوليو (توهان پڙهي سگهو ٿا پل جي درخواستن بابت هتي
) جڏهن توهان سوچيو ته ڪم تيار آهي ۽ ماسٽر برانچ ۾ ضم ٿي سگهي ٿو (يا جيڪڏهن توهان کي يقين نه آهي، پر ڪم تي راءِ وٺڻ چاهيو ٿا).
پل جي درخواست ۾ نئين فيچر منظور ٿيڻ کان پوءِ ان کي ماسٽر برانچ ۾ ضم ڪري سگھجي ٿو.
جڏهن تبديليون ماسٽر برانچ ۾ ملائي وينديون آهن، انهن کي فوري طور تي سرور ڏانهن پهچايو وڃي.
GitHub Flow جي مطابق، ان کان اڳ جو توھان ڪنھن نئين شيءِ تي ڪم شروع ڪريو، اھو فيڪس ھجي يا ڪو نئون فيچر، توھان کي ضرورت آھي ھڪڙي نئين برانچ ٺاھيو جنھن کي ماسٽر جي بنياد تي ھڪڙو مناسب نالو ڏيو. اڳيون، عمل درآمد تي ڪم شروع ٿئي ٿو. توهان کي مسلسل ساڳئي نالي سان ريموٽ سرور ڏانهن ڪمنٽس جمع ڪرڻ گهرجي. جڏهن توهان اهو نتيجو ڪيو ته هر شي تيار آهي، توهان کي ٺاهڻ جي ضرورت آهي پل جي درخواست ماسٽر برانچ ڏانهن. پوء گهٽ ۾ گهٽ هڪ، يا اڃا بهتر، ٻه ماڻهو هن ڪوڊ کي ڏسڻ گهرجي "منظور ڪريو" تي ڪلڪ ڪرڻ کان اڳ. عام طور تي، منصوبي جي ٽيم جي اڳواڻي ۽ هڪ ٻئي شخص کي ضرور هڪ نظر وٺڻ گهرجي. پوء توھان مڪمل ڪري سگھو ٿا پل جي درخواست. GitHub Flow منصوبن ۾ مسلسل ترسيل (CD) هلائڻ لاءِ پڻ سڃاتو وڃي ٿو.
اهو ئي سبب آهي جڏهن تبديليون ماسٽر برانچ ۾ وڃن ٿيون، انهن کي فوري طور تي سرور ڏانهن پهچايو وڃي.
گيٽ فلو
پوئين حڪمت عملي (GitHub فلو) ان جي بنيادي طور تي تمام پيچيده نه آهي. شاخن جا ٻه قسم آهن: ماسٽر ۽ فيچر شاخون. پر GitFlow وڌيڪ سنجيده آهي. گهٽ ۾ گهٽ، مٿي ڏنل تصوير کي صاف ڪرڻ گهرجي :) پوء هي حڪمت عملي ڪيئن ڪم ڪندو آهي؟ عام طور تي، GitFlow ٻن مسلسل شاخن ۽ عارضي شاخن جي ڪيترن ئي قسمن تي مشتمل آهي. GitHub فلو جي حوالي سان، ماسٽر برانچ مسلسل آهي ۽ ٻيا عارضي آهن. مسلسل شاخون
ماستر: هن شاخ تي ڪنهن کي به هٿ يا زور نه ڏيڻ گهرجي. هن حڪمت عملي ۾، ماسٽر جديد مستحڪم ورزن جي نمائندگي ڪري ٿو، جيڪو پيداوار ۾ استعمال ٿيندو آهي (يعني حقيقي سرور تي)
ترقي: ترقي جي شاخ. اهو غير مستحڪم ٿي سگهي ٿو.
ترقي ٽن معاون عارضي شاخن جي استعمال سان ٿئي ٿي :
خصوصيت شاخون - نئين ڪارڪردگي کي ترقي ڪرڻ لاء.
رليز شاخون - منصوبي جي نئين ورزن جي ڇڏڻ جي تياري لاء.
Hotfix شاخون - حقيقي سرور تي حقيقي استعمال ڪندڙن پاران مليل بگ کي جلدي حل ڪرڻ لاءِ.
خصوصيت شاخون
خصوصيت شاخون ڊولپرز پاران نئين ڪارڪردگي لاء ٺاهيا ويا آهن. انهن کي هميشه ترقي جي شاخ جي بنياد تي ٺاهيو وڃي. نئين ڪارڪردگي تي ڪم مڪمل ڪرڻ کان پوء، توهان کي ترقي جي شاخ ڏانهن پل درخواست ٺاهڻ جي ضرورت آهي. واضح طور تي، وڏي ٽيمون هڪ وقت ۾ هڪ کان وڌيڪ خصوصيت شاخون ڪري سگهن ٿيون. GitFlow حڪمت عملي جي وضاحت جي شروعات تي تصوير تي هڪ ٻيو نظر وٺو.
شاخون ڇڏڻ
جڏهن نئين خاصيتن جو گهربل سيٽ ڊولپمينٽ برانچ ۾ تيار آهي، توهان پيداوار جي نئين ورزن جي ڇڏڻ لاء تيار ڪري سگهو ٿا. هڪ رليز برانچ، جيڪا ٺاهي وئي آهي ڊولپمينٽ برانچ جي بنياد تي، اسان کي هن سان مدد ڪندي. جڏهن رليز برانچ سان ڪم ڪري رهيا آهيو، توهان کي سڀني ڪيچ ڳولڻ ۽ درست ڪرڻ جي ضرورت آهي. ڪا به نئين تبديليون جيڪي رليز برانچ کي مستحڪم ڪرڻ جي ضرورت هونديون آهن انهن کي به واپس ڊولپمينٽ برانچ ۾ ضم ڪيو وڃي. اهو ڪيو ويو آهي ته جيئن ترقي جي شاخ کي مستحڪم ڪرڻ لاء. جڏهن جاچ ڪندڙ چون ٿا ته برانچ نئين رليز لاءِ ڪافي مستحڪم آهي، ان کي ماسٽر برانچ ۾ ضم ڪيو ويو آهي. بعد ۾ هڪ ٽيگ، جيڪو هڪ نسخو نمبر مقرر ڪيو ويو آهي، هن ڪم لاء ٺهيل آهي. هڪ مثال ڏسڻ لاء، حڪمت عملي جي شروعات ۾ تصوير کي ڏسو. اتي توهان ڏسندا ٽيگ 1.0 - هي صرف هڪ ٽيگ آهي جيڪو اشارو ڪري ٿو نسخو 1.0 پروجيڪٽ جو. ۽ نيٺ، اسان وٽ آھي hotfix برانچ.
Hotfix شاخون
هاٽ فڪس شاخون پڻ آهن ماسٽر برانچ ڏانهن هڪ نئون ورزن جاري ڪرڻ لاءِ. فرق صرف اهو آهي ته اهي رليز منصوبا نه آهن. اهي حالتون آهن جڏهن ڪيڙا جاري ٿيل ورزن ۾ اچن ٿا ۽ پيداوار جي ماحول ۾ دريافت ڪيا ويا آهن. iOS وٺو: جيئن ئي نئون ورزن رليز ڪيو ويندو، توهان کي فوري طور تي تازه ڪارين جو هڪ گروپ حاصل ڪيو ويو آهي انهن جي اصلاحن سان جيڪي رليز ٿيڻ کانپوءِ مليا هئا. انهي جي مطابق، اسان کي تڪڙو هڪ بگ کي درست ڪرڻ ۽ هڪ نئون نسخو ڇڏڻ جي ضرورت آهي. اسان جي تصوير ۾، هي نسخو 1.0.1 سان ملندو آهي. خيال اهو آهي ته نئين ڪارڪردگي تي ڪم کي روڪڻ جي ضرورت ناهي جڏهن حقيقي سرور تي بگ کي درست ڪرڻ ضروري آهي (يا جيئن اسان چئون ٿا، "پروڊ ۾" يا "پيداوار ۾"). هاٽ فڪس شاخ کي ماسٽر برانچ مان ٺاهيو وڃي، ڇاڪاڻ ته اها نمائندگي ڪري ٿي جيڪا هن وقت پيداوار ۾ هلندڙ آهي. جيئن ئي بگ فڪس تيار ٿئي ٿو، ان کي ماسٽر ۾ ضم ڪيو ويو آهي، ۽ هڪ نئون ٽيگ ٺاهيو ويندو آهي. بس رليز برانچ کي تيار ڪرڻ وانگر، هڪ هاٽ فڪس برانچ پڻ ان جي فيڪس کي واپس ڊولپمينٽ برانچ ۾ ضم ڪرڻ گهرجي.
ڪم جي وهڪري کي ڇڪڻ
فورڪنگ ورڪ فلو ۾، ترقي ۾ ٻه مخزن شامل آهن:
اصل مخزن، جنهن ۾ سڀ تبديليون ملائي وينديون.
ڪانٽو جو ذخيرو. هي اصل مخزن جي هڪ ڪاپي آهي، ڪنهن ٻئي ڊولپر جي ملڪيت آهي جيڪو اصل ۾ تبديليون ڪرڻ چاهي ٿو.
آواز ٿورڙو عجيب ايترو پري، صحيح؟ ڪو به ماڻهو جيڪو اڳ ۾ ئي سامهون آيو آهي اوپن سورس ڊولپمينٽ اڳ ۾ ئي هن طريقي سان واقف آهي. هي حڪمت عملي هيٺ ڏنل فائدو ڏئي ٿي: ترقي هڪ فورڪ مخزن ۾ ٿي سگهي ٿي بغير اجازت ڏيڻ جي اجازت ڏيڻ جي گڏيل ترقي جي اصل شاخ ۾. قدرتي طور، اصل مخزن جي مالڪ کي تجويز ڪيل تبديلين کي رد ڪرڻ جو حق آهي. يا انهن کي قبول ڪرڻ ۽ ملائڻ. اهو اصل مخزن جي مالڪ ۽ ڊولپر ٻنهي لاءِ آسان آهي جيڪو پيداوار ٺاهڻ ۾ مدد ڪرڻ چاهي ٿو. مثال طور، توھان تجويز ڪري سگھوٿا لينڪس ڪنيل
۾ تبديليون . جيڪڏهن لينس فيصلو ڪري ٿو ته اهي سمجهن ٿا، تبديليون شامل ڪيون وينديون (!!!).
فورڪنگ ڪم فلو جو هڪ مثال
فورڪنگ ورڪ فلو GitHub تي لاڳو ٿئي ٿو جڏهن اتي هڪ لائبريري آهي جيڪا توهان استعمال ڪرڻ چاهيو ٿا. اهو هڪ بگ آهي جيڪو توهان کي مڪمل طور تي استعمال ڪرڻ کان روڪي ٿو. فرض ڪريو ته توهان مسئلي ۾ ڪافي گهيرو ڪيو ۽ حل ڄاڻو. فورڪنگ ورڪ فلو استعمال ڪندي، توهان لائبريري جي اصل مخزن ۾ ڪم ڪرڻ جي حقن کان سواءِ مسئلو حل ڪري سگهو ٿا. شروع ڪرڻ لاءِ، توھان کي ڪجھ مخزن چونڊڻ جي ضرورت آھي، مثال طور، اسپرنگ فريم ورڪ
. ڳوليو ۽ ڪلڪ ڪريو "فورڪ" بٽڻ تي مٿي ساڄي ڪنڊ ۾: اهو ڪجهه وقت وٺندو. پوءِ اصل مخزن جي هڪ ڪاپي توهان جي ذاتي اڪائونٽ ۾ ظاهر ٿيندي، جنهن مان ظاهر ٿيندو ته اهو هڪ ڪانٽو آهي: هاڻي توهان هن مخزن سان معمول مطابق ڪم ڪري سگهو ٿا، ماسٽر برانچ ۾ تبديليون شامل ڪندي، ۽ جڏهن سڀ ڪجهه تيار آهي، توهان ٺاهي سگهو ٿا هڪ درخواست کي اصل مخزن ڏانهن ڇڪيو. هن کي ڪرڻ لاء، ڪلڪ ڪريو نئون پل درخواست بٽڻ:
ڪهڙي حڪمت عملي چونڊڻ لاءِ
Git هڪ لچڪدار ۽ طاقتور اوزار آهي جيڪو توهان کي مختلف قسم جي عملن ۽ حڪمت عملين کي استعمال ڪندي ڪم ڪرڻ جي اجازت ڏئي ٿو. پر جيتريون وڌيڪ چونڊون توهان وٽ آهن، اوترو وڌيڪ ڏکيو اهو آهي ته فيصلو ڪرڻ ڪهڙي حڪمت عملي اختيار ڪجي. اهو واضح آهي ته هر ڪنهن لاء ڪو به واحد جواب ناهي. هر شي صورتحال تي منحصر آهي. اهو چيو ته، اهڙا ڪيترائي هدايتون آهن جيڪي هن سان مدد ڪري سگهن ٿيون:
GO TO FULL VERSION