CodeGym /جاوا بلاگ /Random-SD /ٽيم ورڪ بغير مونجهارو: گٽ ۾ برانچنگ حڪمت عملي کي سمجھڻ
John Squirrels
سطح
San Francisco

ٽيم ورڪ بغير مونجهارو: گٽ ۾ برانچنگ حڪمت عملي کي سمجھڻ

گروپ ۾ شايع ٿيل

تعارف

Git سافٽ ويئر ڊولپمينٽ ۾ ورزن ڪنٽرول سسٽم لاءِ فيڪٽو انڊسٽري جو معيار بڻجي چڪو آهي. توهان کي پهريان منهنجو مضمون پڙهڻ گهرجي گيٽ ڇا آهي ۽ ڪيئن شروع ڪجي. ڇا توهان ان کي پڙهيو آهي؟ تمام سٺو، اچو ته هلون! مونجهاري کان سواءِ ٽيم ورڪ: گٽ ۾ برانچنگ حڪمت عملين کي سمجھڻ - 1پسند ڪريو يا نه، هي اوزار لينس ٽوالڊس پاران ٺاهيل آهي رٽائر ٿيڻ وارو ناهي. تنهن ڪري، اهو سمجهڻ جي ڳالهه آهي ته ڪيئن ورهايل ٽيمون Git سان ڪم ڪن ٿيون ۽ انهن لاءِ ڪهڙي برانچنگ حڪمت عملي چونڊڻ گهرجي. هي هڪ غير ضروري سوال ناهي. جڏهن هڪ نئين ڊولپمينٽ ٽيم کي گڏ ڪيو جنهن اڳ ۾ گڏجي ڪم نه ڪيو آهي، برانچنگ حڪمت عملي اڪثر فيصلو ڪرڻ جي پهرين شين مان هڪ آهي. ۽ ڪجهه ماڻهو اهو ثابت ڪرڻ لاءِ وات تي فوم ڪندا ته هڪ حڪمت عملي ٻي کان بهتر آهي. تنهن ڪري، مان توهان کي انهن بابت ڪجهه عام معلومات پهچائڻ چاهيان ٿو.

ڇا برانچنگ حڪمت عمليون ضروري آهن؟

اهي واقعي ضروري آهن. تمام ضروري. ڇو ته جيڪڏهن ٽيم ڪنهن شيءِ تي متفق نه ٿي ته پوءِ هر ٽيم ميمبر اهو ڪندو جيڪو هو چاهي ٿو:
  • ڪنهن به شاخ ۾ ڪم
  • پاڻمرادو ٻين شاخن ۾ ضم ٿيڻ
  • ڪجهه شاخن کي ختم ڪرڻ
  • نوان ٺاهڻ
  • ۽ تنهنڪري هر ٽيم ميمبر هڪ غير منظم وهڪري ۾ ڪم ڪندو.
انهي ڪري اسان وٽ هيٺ ڏنل غور ڪرڻ لاء ٽي حڪمت عمليون آهن. اچو ته هلون!

GitHub وهڪرو

مونجهاري کان سواءِ ٽيم ڪم: گٽ ۾ برانچنگ حڪمت عملين کي سمجھڻ - 2هي برانچنگ حڪمت عملي، عجيب طور تي ڪافي، GitHub تي ترجيح ڏني وئي آهي :) اهو قاعدن جي هڪ سيٽ سان اچي ٿو :
  1. ماسٽر برانچ ۾ ڪوڊ ٽوڙڻ نه گهرجي. اهو ڪنهن به وقت مقرر ٿيڻ لاء تيار هجڻ گهرجي. اهو آهي، توهان کي اتي ڪوڊ نه رکڻ گهرجي جيڪو توهان کي پروجيڪٽ ٺاهڻ ۽ ان کي سرور تي لڳائڻ کان روڪيندو.
  2. جڏهن توهان نئين ڪارڪردگي تي ڪم ڪرڻ جو منصوبو ٺاهيو ٿا، توهان کي ماسٽر برانچ جي بنياد تي هڪ نئين خصوصيت برانچ ٺاهڻ جي ضرورت آهي ۽ ان کي هڪ معني وارو نالو ڏيو. پنھنجي ڪوڊ کي مقامي طور تي موڪليو ۽ باقاعده پنھنجي تبديلين کي ريموٽ ريپوزٽري ۾ ساڳي برانچ ڏانھن ڇڪيو.
  3. پل جي درخواست کوليو (توهان پڙهي سگهو ٿا پل جي درخواستن بابت هتي ) جڏهن توهان سوچيو ته ڪم تيار آهي ۽ ماسٽر برانچ ۾ ضم ٿي سگهي ٿو (يا جيڪڏهن توهان کي يقين نه آهي، پر ڪم تي راءِ وٺڻ چاهيو ٿا).
  4. پل جي درخواست ۾ نئين فيچر منظور ٿيڻ کان پوءِ ان کي ماسٽر برانچ ۾ ضم ڪري سگھجي ٿو.
  5. جڏهن تبديليون ماسٽر برانچ ۾ ملائي وينديون آهن، انهن کي فوري طور تي سرور ڏانهن پهچايو وڃي.
GitHub Flow جي مطابق، ان کان اڳ جو توھان ڪنھن نئين شيءِ تي ڪم شروع ڪريو، اھو فيڪس ھجي يا ڪو نئون فيچر، توھان کي ضرورت آھي ھڪڙي نئين برانچ ٺاھيو جنھن کي ماسٽر جي بنياد تي ھڪڙو مناسب نالو ڏيو. اڳيون، عمل درآمد تي ڪم شروع ٿئي ٿو. توهان کي مسلسل ساڳئي نالي سان ريموٽ سرور ڏانهن ڪمنٽس جمع ڪرڻ گهرجي. جڏهن توهان اهو نتيجو ڪيو ته هر شي تيار آهي، توهان کي ٺاهڻ جي ضرورت آهي پل جي درخواست ماسٽر برانچ ڏانهن. پوء گهٽ ۾ گهٽ هڪ، يا اڃا بهتر، ٻه ماڻهو هن ڪوڊ کي ڏسڻ گهرجي "منظور ڪريو" تي ڪلڪ ڪرڻ کان اڳ. عام طور تي، منصوبي جي ٽيم جي اڳواڻي ۽ هڪ ٻئي شخص کي ضرور هڪ نظر وٺڻ گهرجي. پوء توھان مڪمل ڪري سگھو ٿا پل جي درخواست. GitHub Flow منصوبن ۾ مسلسل ترسيل (CD) هلائڻ لاءِ پڻ سڃاتو وڃي ٿو. اهو ئي سبب آهي جڏهن تبديليون ماسٽر برانچ ۾ وڃن ٿيون، انهن کي فوري طور تي سرور ڏانهن پهچايو وڃي.

گيٽ فلو

مونجهاري کان سواءِ ٽيم ڪم: گٽ ۾ برانچنگ حڪمت عملين کي سمجھڻ - 3پوئين حڪمت عملي (GitHub فلو) ان جي بنيادي طور تي تمام پيچيده نه آهي. شاخن جا ٻه قسم آهن: ماسٽر ۽ فيچر شاخون. پر GitFlow وڌيڪ سنجيده آهي. گهٽ ۾ گهٽ، مٿي ڏنل تصوير کي صاف ڪرڻ گهرجي :) پوء هي حڪمت عملي ڪيئن ڪم ڪندو آهي؟ عام طور تي، GitFlow ٻن مسلسل شاخن ۽ عارضي شاخن جي ڪيترن ئي قسمن تي مشتمل آهي. GitHub فلو جي حوالي سان، ماسٽر برانچ مسلسل آهي ۽ ٻيا عارضي آهن. مسلسل شاخون
  • ماستر: هن شاخ تي ڪنهن کي به هٿ يا زور نه ڏيڻ گهرجي. هن حڪمت عملي ۾، ماسٽر جديد مستحڪم ورزن جي نمائندگي ڪري ٿو، جيڪو پيداوار ۾ استعمال ٿيندو آهي (يعني حقيقي سرور تي)
  • ترقي: ترقي جي شاخ. اهو غير مستحڪم ٿي سگهي ٿو.
ترقي ٽن معاون عارضي شاخن جي استعمال سان ٿئي ٿي :
  1. خصوصيت شاخون - نئين ڪارڪردگي کي ترقي ڪرڻ لاء.
  2. رليز شاخون - منصوبي جي نئين ورزن جي ڇڏڻ جي تياري لاء.
  3. Hotfix شاخون - حقيقي سرور تي حقيقي استعمال ڪندڙن پاران مليل بگ کي جلدي حل ڪرڻ لاءِ.

خصوصيت شاخون

خصوصيت شاخون ڊولپرز پاران نئين ڪارڪردگي لاء ٺاهيا ويا آهن. انهن کي هميشه ترقي جي شاخ جي بنياد تي ٺاهيو وڃي. نئين ڪارڪردگي تي ڪم مڪمل ڪرڻ کان پوء، توهان کي ترقي جي شاخ ڏانهن پل درخواست ٺاهڻ جي ضرورت آهي. واضح طور تي، وڏي ٽيمون هڪ وقت ۾ هڪ کان وڌيڪ خصوصيت شاخون ڪري سگهن ٿيون. GitFlow حڪمت عملي جي وضاحت جي شروعات تي تصوير تي هڪ ٻيو نظر وٺو.

شاخون ڇڏڻ

جڏهن نئين خاصيتن جو گهربل سيٽ ڊولپمينٽ برانچ ۾ تيار آهي، توهان پيداوار جي نئين ورزن جي ڇڏڻ لاء تيار ڪري سگهو ٿا. هڪ رليز برانچ، جيڪا ٺاهي وئي آهي ڊولپمينٽ برانچ جي بنياد تي، اسان کي هن سان مدد ڪندي. جڏهن رليز برانچ سان ڪم ڪري رهيا آهيو، توهان کي سڀني ڪيچ ڳولڻ ۽ درست ڪرڻ جي ضرورت آهي. ڪا به نئين تبديليون جيڪي رليز برانچ کي مستحڪم ڪرڻ جي ضرورت هونديون آهن انهن کي به واپس ڊولپمينٽ برانچ ۾ ضم ڪيو وڃي. اهو ڪيو ويو آهي ته جيئن ترقي جي شاخ کي مستحڪم ڪرڻ لاء. جڏهن جاچ ڪندڙ چون ٿا ته برانچ نئين رليز لاءِ ڪافي مستحڪم آهي، ان کي ماسٽر برانچ ۾ ضم ڪيو ويو آهي. بعد ۾ هڪ ٽيگ، جيڪو هڪ نسخو نمبر مقرر ڪيو ويو آهي، هن ڪم لاء ٺهيل آهي. هڪ مثال ڏسڻ لاء، حڪمت عملي جي شروعات ۾ تصوير کي ڏسو. اتي توهان ڏسندا ٽيگ 1.0 - هي صرف هڪ ٽيگ آهي جيڪو اشارو ڪري ٿو نسخو 1.0 پروجيڪٽ جو. ۽ نيٺ، اسان وٽ آھي hotfix برانچ.

Hotfix شاخون

هاٽ فڪس شاخون پڻ آهن ماسٽر برانچ ڏانهن هڪ نئون ورزن جاري ڪرڻ لاءِ. فرق صرف اهو آهي ته اهي رليز منصوبا نه آهن. اهي حالتون آهن جڏهن ڪيڙا جاري ٿيل ورزن ۾ اچن ٿا ۽ پيداوار جي ماحول ۾ دريافت ڪيا ويا آهن. iOS وٺو: جيئن ئي نئون ورزن رليز ڪيو ويندو، توهان کي فوري طور تي تازه ڪارين جو هڪ گروپ حاصل ڪيو ويو آهي انهن جي اصلاحن سان جيڪي رليز ٿيڻ کانپوءِ مليا هئا. انهي جي مطابق، اسان کي تڪڙو هڪ بگ کي درست ڪرڻ ۽ هڪ نئون نسخو ڇڏڻ جي ضرورت آهي. اسان جي تصوير ۾، هي نسخو 1.0.1 سان ملندو آهي. خيال اهو آهي ته نئين ڪارڪردگي تي ڪم کي روڪڻ جي ضرورت ناهي جڏهن حقيقي سرور تي بگ کي درست ڪرڻ ضروري آهي (يا جيئن اسان چئون ٿا، "پروڊ ۾" يا "پيداوار ۾"). هاٽ فڪس شاخ کي ماسٽر برانچ مان ٺاهيو وڃي، ڇاڪاڻ ته اها نمائندگي ڪري ٿي جيڪا هن وقت پيداوار ۾ هلندڙ آهي. جيئن ئي بگ فڪس تيار ٿئي ٿو، ان کي ماسٽر ۾ ضم ڪيو ويو آهي، ۽ هڪ نئون ٽيگ ٺاهيو ويندو آهي. بس رليز برانچ کي تيار ڪرڻ وانگر، هڪ هاٽ فڪس برانچ پڻ ان جي فيڪس کي واپس ڊولپمينٽ برانچ ۾ ضم ڪرڻ گهرجي.

ڪم جي وهڪري کي ڇڪڻ

مونجهاري کان سواءِ ٽيم ورڪ: گٽ ۾ برانچنگ حڪمت عملين کي سمجھڻ - 4فورڪنگ ورڪ فلو ۾، ترقي ۾ ٻه مخزن شامل آهن:
  1. اصل مخزن، جنهن ۾ سڀ تبديليون ملائي وينديون.
  2. ڪانٽو جو ذخيرو. هي اصل مخزن جي هڪ ڪاپي آهي، ڪنهن ٻئي ڊولپر جي ملڪيت آهي جيڪو اصل ۾ تبديليون ڪرڻ چاهي ٿو.
آواز ٿورڙو عجيب ايترو پري، صحيح؟ ڪو به ماڻهو جيڪو اڳ ۾ ئي سامهون آيو آهي اوپن سورس ڊولپمينٽ اڳ ۾ ئي هن طريقي سان واقف آهي. هي حڪمت عملي هيٺ ڏنل فائدو ڏئي ٿي: ترقي هڪ فورڪ مخزن ۾ ٿي سگهي ٿي بغير اجازت ڏيڻ جي اجازت ڏيڻ جي گڏيل ترقي جي اصل شاخ ۾. قدرتي طور، اصل مخزن جي مالڪ کي تجويز ڪيل تبديلين کي رد ڪرڻ جو حق آهي. يا انهن کي قبول ڪرڻ ۽ ملائڻ. اهو اصل مخزن جي مالڪ ۽ ڊولپر ٻنهي لاءِ آسان آهي جيڪو پيداوار ٺاهڻ ۾ مدد ڪرڻ چاهي ٿو. مثال طور، توھان تجويز ڪري سگھوٿا لينڪس ڪنيل ۾ تبديليون . جيڪڏهن لينس فيصلو ڪري ٿو ته اهي سمجهن ٿا، تبديليون شامل ڪيون وينديون (!!!).

فورڪنگ ڪم فلو جو هڪ مثال

فورڪنگ ورڪ فلو GitHub تي لاڳو ٿئي ٿو جڏهن اتي هڪ لائبريري آهي جيڪا توهان استعمال ڪرڻ چاهيو ٿا. اهو هڪ بگ آهي جيڪو توهان کي مڪمل طور تي استعمال ڪرڻ کان روڪي ٿو. فرض ڪريو ته توهان مسئلي ۾ ڪافي گهيرو ڪيو ۽ حل ڄاڻو. فورڪنگ ورڪ فلو استعمال ڪندي، توهان لائبريري جي اصل مخزن ۾ ڪم ڪرڻ جي حقن کان سواءِ مسئلو حل ڪري سگهو ٿا. شروع ڪرڻ لاءِ، توھان کي ڪجھ مخزن چونڊڻ جي ضرورت آھي، مثال طور، اسپرنگ فريم ورڪ . ڳوليو ۽ ڪلڪ ڪريو "فورڪ" بٽڻ تي مٿي ساڄي ڪنڊ ۾: مونجهاري کان سواءِ ٽيم ورڪ: گٽ ۾ برانچنگ حڪمت عملين کي سمجھڻ - 5اهو ڪجهه وقت وٺندو. پوءِ اصل مخزن جي هڪ ڪاپي توهان جي ذاتي اڪائونٽ ۾ ظاهر ٿيندي، جنهن مان ظاهر ٿيندو ته اهو هڪ ڪانٽو آهي: مونجهاري کان سواءِ ٽيم ورڪ: گٽ ۾ برانچنگ حڪمت عملين کي سمجھڻ - 6هاڻي توهان هن مخزن سان معمول مطابق ڪم ڪري سگهو ٿا، ماسٽر برانچ ۾ تبديليون شامل ڪندي، ۽ جڏهن سڀ ڪجهه تيار آهي، توهان ٺاهي سگهو ٿا هڪ درخواست کي اصل مخزن ڏانهن ڇڪيو. هن کي ڪرڻ لاء، ڪلڪ ڪريو نئون پل درخواست بٽڻ:مونجهاري کان سواءِ ٽيم ڪم: گٽ ۾ برانچنگ حڪمت عملين کي سمجھڻ - 7

ڪهڙي حڪمت عملي چونڊڻ لاءِ

Git هڪ لچڪدار ۽ طاقتور اوزار آهي جيڪو توهان کي مختلف قسم جي عملن ۽ حڪمت عملين کي استعمال ڪندي ڪم ڪرڻ جي اجازت ڏئي ٿو. پر جيتريون وڌيڪ چونڊون توهان وٽ آهن، اوترو وڌيڪ ڏکيو اهو آهي ته فيصلو ڪرڻ ڪهڙي حڪمت عملي اختيار ڪجي. اهو واضح آهي ته هر ڪنهن لاء ڪو به واحد جواب ناهي. هر شي صورتحال تي منحصر آهي. اهو چيو ته، اهڙا ڪيترائي هدايتون آهن جيڪي هن سان مدد ڪري سگهن ٿيون:
  1. اھو بھتر آھي ته پھريون آسان حڪمت عملي چونڊيو. وڌيڪ پيچيده حڪمت عملين ڏانهن وڃو صرف جڏهن ضرورت هجي.
  2. حڪمت عملين تي غور ڪريو جيڪي ڊولپرز لاءِ ممڪن حد تائين ڪجھ شاخون آھن.
  3. مختلف حڪمت عملين جي فائدن ۽ نقصانن کي ڏسو، ۽ پوءِ اھو چونڊيو جيڪو توھان کي توھان جي منصوبي لاءِ گهربل آھي.
اهو سڀ ڪجهه آهي جيڪو مان گٽ ۾ برانچنگ حڪمت عملي بابت چوڻ چاهيان ٿو. توهان جي توجه لاءِ مهرباني :) مون کي فالو ڪريو GitHub ، جتي آئون اڪثر ڪري پوسٽ ڪندو آهيان منهنجي تخليقن کي جنهن ۾ مختلف ٽيڪنالاجيون ۽ اوزار شامل آهن جيڪي آئون پنهنجي ڪم ۾ استعمال ڪيان ٿو.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION