আমার সংস্থাগুলি শাখাগুলি মার্জ করা কি ভুল?


28

আমি সম্প্রতি শাখা এবং মার্জ এবং এসসিএম: ব্রাঞ্চিং এবং মার্জিং প্রাইমার - ক্রিস বার্মেল সম্পর্কে একটি এমএসডিএন নিবন্ধ জুড়ে এসেছি

নিবন্ধে তারা বলেছে যে 'বিগ ব্যাং মার্জ' হ'ল মার্জিং অ্যান্টিপাটাইটার:

বিগ ব্যাং মার্জ - স্থগিতকারী শাখা উন্নয়নের চূড়ান্ত পরিণতিতে মার্জ করা এবং একসাথে সমস্ত শাখা একত্রিত করার চেষ্টা করা।

আমি বুঝতে পেরেছিলাম যে উত্পাদিত সমস্ত উন্নয়ন শাখার সাথে আমার সংস্থা যা করছে তার সাথে এটি খুব মিল similar

আমি চূড়ান্ত পর্যালোচনা + ট্রাঙ্ক একীভূতকরণ কর্তৃপক্ষ হিসাবে একজন ব্যক্তির সাথে অভিনয় করে খুব ছোট সংস্থায় কাজ করি। আমাদের 5 জন বিকাশকারী (আমাকে সহ) রয়েছে, আমাদের প্রত্যেককে একটি পৃথক টাস্ক / বাগ / প্রকল্প অর্পণ করা হবে এবং আমরা প্রতিটি শাখা বর্তমান ট্রাঙ্ক (সাবভারশন) বন্ধ করে দেব এবং তারপরে আমাদের শাখায় উন্নয়ন কাজ সম্পাদন করব, ফলাফলগুলি পরীক্ষা করব, নথিপত্র লিখব যদি প্রয়োজন হয় তবে অন্যান্য বিকাশকারীদের সাথে সমকক্ষ পর্যালোচনা এবং প্রতিক্রিয়া লুপটি সম্পাদন করুন এবং তারপরে পর্যালোচনা করার জন্য শাখাটি জমা দিন + আমাদের প্রকল্প পরিচালনার সফ্টওয়্যারটিতে মার্জ করুন।

আমার বস, ট্রাঙ্ক রিপোজিটরির একমাত্র কর্তৃপক্ষ, প্রকৃতপক্ষে শাখাগুলির সমস্ত পর্যালোচনাগুলি স্থগিত করবে যতক্ষণ না তিনি যতটা সম্ভব পর্যালোচনা সম্পাদন করবেন, কিছু শাখা বর্ধন / সংশোধন করার জন্য পিছনে ফেলে দেওয়া হবে, কিছু শাখাগুলি সরাসরি ট্রাঙ্কে মার্জ হবে, কিছু শাখা দ্বন্দ্ব ইত্যাদির কারণে পিছনে ফেলে দেওয়া হবে etc.

চূড়ান্ত পর্যালোচনা সারিতে 10-20 সক্রিয় শাখা ট্রাঙ্কে একীভূত করা আমাদের পক্ষে অস্বাভাবিক কিছু নয় om

আমাদের প্রায়শই চূড়ান্ত পর্যালোচনা এবং সংযুক্তির পর্যায়ে বিবাদগুলি সমাধান করতে হবে কারণ দুটি শাখা একই ট্রাঙ্কের বাইরে তৈরি হয়েছিল তবে একই কোডের টুকরাটি সংশোধিত হয়েছিল। সাধারণত আমরা কেবল ট্রাঙ্কটি পুনরায় প্রকাশ করে এবং আমাদের পরিবর্তনগুলি পুনরায় প্রয়োগ করে এবং দ্বন্দ্বগুলি সমাধানের পরে নতুন শাখাটি পর্যালোচনার জন্য জমা দেওয়ার (দরিদ্র মানুষ পুনর্বাসনের মাধ্যমে) এড়াতে পারি।

আমার কাছে কিছু প্রত্যক্ষ প্রশ্ন রয়েছে:

  • আমরা কি 'বিগ ব্যাং মার্জ' হিসাবে বর্ণিত খুব অ্যান্টি-প্যাটার্নটি প্রদর্শন করছি?
  • আমরা এই মার্জ প্রক্রিয়াটির ফলাফল দেখতে পাচ্ছি এমন কিছু সমস্যা রয়েছে কি?
  • আমার মনিষে বাধা না বাড়িয়ে কীভাবে আমরা এই মার্জ প্রক্রিয়াটি উন্নত করতে পারি?

সম্পাদনা: আমি সন্দেহ করি যে আমার বস ট্রাঙ্কের সংগ্রহস্থলের উপর তার আড়ালটি আলগা করে দেবে, বা অন্যান্য দেবগণকে ট্রাঙ্কে একীভূত করতে দেবে doubt তার কারণগুলি কী তা নিশ্চিত তা নয় তবে আমি বিষয়টিকে সামনে আনার বিষয়ে সত্যই পরিকল্পনা করি না কারণ এটি আগে উত্থাপন করা হয়েছিল এবং তাড়াতাড়ি ছুঁড়ে ফেলা হয়েছে। আমি মনে করি তারা কেবল আমাদের উপর বিশ্বাস রাখে না, যা বোঝায় না কারণ সবকিছু যেভাবেই ট্র্যাক করা হয়েছে।

এই পরিস্থিতি সম্পর্কে অন্য কোনও অন্তর্দৃষ্টি প্রশংসা করা হবে।


2
কেন মার্জ করা পিছিয়ে? সাধারণত, অবিলম্বে এটি না করার কারণ রয়েছে। একা ছেলে কি খুব বেশি কাজ করে এবং ব্যাকলগটি এত বড় হয়? সময়োপযোগীভাবে মার্জিং করা না যাওয়ার অন্য কোনও কারণ আছে কি?
বহুবিবাহ করুন

1
আমি বেশ কয়েকবার আপনার মতো একই অবস্থানে ছিলাম। আমি ব্যক্তিগত অভিজ্ঞতা থেকে বলতে পারি যে অনেক সংস্থা ভার্সন নিয়ন্ত্রণ করে, বিশেষত ব্রাঞ্চিং, মারাত্মকভাবে ভুল।
MechMK1

3
বস ছুটিতে গেলে কী হয়?
লিথ

আপনি কীভাবে লিনাক্স কার্নেল শাখা / মার্জ কৌশলটি সংজ্ঞায়িত করবেন?
ব্রায়াম

দ্বন্দ্বের কারণে পিছনে ফেলে দেওয়া পরিবর্তনগুলি কি তবে অন্য ত্রুটিগুলি দ্বন্দ্বের সমাধান হওয়ার পরে আবার অনুমোদনের প্রক্রিয়াটি অতিক্রম করার প্রয়োজন হয় বা সেগুলি "অস্থায়ীভাবে অনুমোদিত" হিসাবে বিবেচিত হয়?
গ্রেগরি নিসবেট

উত্তর:


60

কিছু পরামর্শ:

  • যতক্ষণ না প্রতিটি শাখায় করা পরিবর্তনগুলি যথেষ্ট পরিমাণে ছোট থাকে ততক্ষণ আপনি কার্যকরভাবে মার্জ সংঘাতগুলি কার্যকরভাবে পরিচালনা করতে পারবেন যতক্ষণ না অনেকগুলি বৈশিষ্ট্য বা বাগফিক্স শাখা থাকাতে কোনও ভুল নেই। আপনার কাজ করার পদ্ধতি যদি ঠিক থাকে তবে কিছু এমএসডিএন নিবন্ধ নয় তবে এটি আপনার মাপদণ্ড হওয়া উচিত।

  • যখনই কোনও শাখা ট্রাঙ্কে একীভূত হয় তখন ট্রাঙ্কটি সমস্ত উন্মুক্ত বিকাশ শাখায় ASAP এ মিশ্রিত করা উচিত। এটি দলের সমস্ত লোককে তাদের নিজস্ব শাখায় সমান্তরালে একত্রিত হওয়া সংঘাতগুলি সমাধান করার অনুমতি দেবে এবং তাই ট্রাঙ্কের দ্বাররক্ষীর কাছ থেকে কিছুটা বোঝা নেবে।

  • 10 টি শাখা "ট্রাঙ্কে মার্জ হওয়ার জন্য প্রস্তুত না হওয়া পর্যন্ত" দারোয়ান অপেক্ষায় না থাকলে এটি আরও ভালভাবে কাজ করবে - শেষ ট্রাঙ্কের সংহতকরণ থেকে মার্জ সংঘাতগুলি সমাধান করতে সর্বদা দলের জন্য কিছুটা সময় প্রয়োজন, তাই সম্ভবত অন্তর্নির্মিত সময়ের ব্যবধানে কাজ করা ভাল is - গেটকিপারের দ্বারা একটি সংহতকরণ, একটি দল দ্বারা পুনরায় মার্জ, দারোয়ান দ্বারা পরবর্তী সংহতকরণ, পরবর্তী দল দ্বারা পুনরায় সংহতকরণ এবং আরও অনেক কিছু।

  • শাখাগুলি ছোট রাখার জন্য, এটি বৃহত্তর বৈশিষ্ট্যগুলি কয়েকটি ছোট কার্যগুলিতে বিভক্ত করতে এবং সেই প্রতিটি কার্যকে তার নিজস্ব একটি শাখায় বিকাশ করতে সহায়তা করতে পারে। সমস্ত সাবটাস্ক বাস্তবায়িত না হওয়া পর্যন্ত যদি বৈশিষ্ট্যটি উত্পাদন প্রস্তুত না হয় তবে সমস্ত সাবটাস্ক সম্পূর্ণ না হওয়া পর্যন্ত এটি কোনও বৈশিষ্ট্য টগল এর পিছনে উত্পাদন থেকে আড়াল করুন ।

  • যত তাড়াতাড়ি বা পরে আপনি রিফ্যাক্টরিংয়ের কাজগুলির মুখোমুখি হবেন যা কোড বেসের অনেকগুলি ফাইলকে প্রভাবিত করে - এগুলির অনেক শাখার সাথে অনেকগুলি সংহত দ্বন্দ্বের ঝুঁকি রয়েছে। দলে স্পষ্টভাবে যোগাযোগ করে এগুলি সবচেয়ে ভাল পরিচালনা করা যায় এবং আমি উপরে যেমন লিখেছি ঠিক সেগুলি হ্যান্ডেল করার বিষয়টি নিশ্চিত করুন: পুনরায় সংহত হওয়ার আগে সমস্ত দেব শাখায় প্রথমে তাদের সংহত করে এবং তাদেরকে ছোট ছোট সাব-রিফ্যাক্টরিংগুলিতে বিভক্ত করে।

  • আপনার বর্তমান দলের আকারের জন্য, একক দারোয়ান থাকা এখনও কাজ করতে পারে। তবে আপনার দলটি যদি আকারে বাড়তে থাকে তবে দ্বিতীয় গেটকিপার (বা আরও বেশি) রাখার উপায় নেই। দ্রষ্টব্য আমি প্রত্যেককে ট্রাঙ্কে মিশে যাওয়ার অনুমতি দেওয়ার পরামর্শ দিচ্ছি না, তবে এর অর্থ এই নয় যে কেবল আপনার বস এটি করতে সক্ষম। সম্ভবত দু'জন প্রবীণ দেব রয়েছেন যারাও দারোয়ানর কাজটি করার জন্য প্রার্থী হতে পারেন। এমনকি আপনার বর্তমান দলের আকারের জন্যও, দ্বিতীয় দারোয়ান আপনার দলের পক্ষে আরও প্রায়শই এবং তার আগে ট্রাঙ্কের সাথে সংহত করা সহজ করতে পারে বা যখন আপনার বস উপলব্ধ না থাকে।


2
আমি মনে করি আপনার এখানে সর্বোত্তম মন্তব্য আছে, স্বীকৃতি দিয়ে আমরা আমরা কেবল সকলের জন্য ট্রাঙ্ক খুলতে পারি না, এবং আমাদের শাখাগুলি স্ট্যাক হ'ল সবসময় কোনও সমস্যা হয় না (কেবল তখনই তারা বিরোধ করে)। আমি মনে করি আপনি কীভাবে আমরা বিরোধগুলি হ্রাস করতে পারি এবং মার্জ চক্রটি মসৃণ হয় তা নিশ্চিত করতে আপনি একটি ভাল কাজ করেছেন, আমিও মনে করি আপনি সম্পূর্ণরূপে সঠিক আছেন যখন আপনি বলেন যখন আমাদের আর একজন দারোয়ান প্রয়োজন হতে পারে। এই অন্তর্দৃষ্টি জন্য অনেক ধন্যবাদ!
ব্যবহারকারী 6567423

@ ইউজার 6567423 আপনি যে বিষয়টি বিবেচনা করতে চাইতে পারেন তা হ'ল প্রতিটি বিকাশের সংস্করণ (যেমন 5.2.3 বা যা কিছু) জন্য শাখা তৈরি করা, যা প্রতিটি বিকাশকারী বৈশিষ্ট্যটির জন্য শাখা তৈরি করতে পারে এবং তারপরে মার্জ করে, এবং যা পরে মূলটিতে মার্জ করা যায় which উন্নয়ন সম্পন্ন হলে মনিব দ্বারা শাখা ছেড়ে দিন।
নিক 012000

@ নিক012000: সেই পরামর্শটি কি ট্রাঙ্কে সংহতকরণের / বিপরীতে পৃথক বৈশিষ্ট্যযুক্ত শাখাগুলি গ্রহণ বা প্রত্যাখ্যান করে দারোয়ানদের পক্ষে আরও কঠিন করে তুলবে না? মানে, যদি বেশ কয়েকটি বৈশিষ্ট্যগুলি একটি বিকাশ শাখায় মিশ্রিত হয় তবে আংশিকভাবে ট্রাঙ্কে এই পরিবর্তনগুলি পুনর্বহাল করা সত্যিই শক্ত হয়ে উঠবে। নাকি আমি কিছু মিস করছি?
ডক ব্রাউন

10
" মার্জ কোন্দলগুলি তাদের নিজস্ব শাখায় সমান্তরালে সমাধান করুন এবং তাই ট্রাঙ্কের দ্বাররক্ষীর কাছ থেকে কিছুটা চাপ নিন। " আমার মনে হচ্ছে এই অংশটি অন্যায়ভাবে কোনও পার্শ্ব নোটে হ্রাস পেয়েছে। "তবে এটি আপনার পক্ষে আরও সহজ কোম্পানির পক্ষে ভাল " বসকে এই পরামর্শ দেওয়ার সময় মূল বিক্রয় পয়েন্টের মতো মনে হয়। এটি সেই দিকের অফিসের রাজনীতিতে আরও বেশি যায় যা এসই সম্পর্কে নয় - তবে এই পরিস্থিতিতে বসের কাছ থেকে ব্যয় না করে এই প্রযুক্তিগতভাবে উত্তরের উত্তরের সমস্ত কিছুই ঘটবে না।
আর স্মিটজ

@ ডকব্রাউন হ্যাঁ, এটি হ'ল, তবে এর অর্থ এইও হবে যে আপনি দেব শাখাগুলির মধ্যে অনেক কম সংঘাত পেয়েছিলেন এবং এটি এখনও প্রধান শাখায় সরাসরি মার্জ না করে আপনাকে প্রদত্ত সুরক্ষা ডিগ্রী দিতে পারে - এবং তিনি কেবল পারেন কাজটি সম্পন্ন হিসাবে গ্রহণ করতে অস্বীকার করুন এবং যতক্ষণ না তিনি পুরোপুরি কোডের রাজ্যের সাথে সন্তুষ্ট হন ততক্ষণ মার্জটি সম্পাদন করতে অস্বীকার করুন।
নিক012000

18

আমরা কি 'বিগ ব্যাং মার্জ' হিসাবে বর্ণিত খুব অ্যান্টি-প্যাটার্নটি প্রদর্শন করছি?

ভালো লাগছে।

আমরা এই মার্জ প্রক্রিয়াটির ফলাফল দেখতে পাচ্ছি এমন কিছু সমস্যা রয়েছে কি?

স্পষ্টভাবে

আমার মনিষে বাধা না বাড়িয়ে কীভাবে আমরা এই মার্জ প্রক্রিয়াটি উন্নত করতে পারি?

আমার সংস্থায়, প্রতিটি দেবের একত্রীকরণের ক্ষমতা রয়েছে। আমরা অন্য দেবকে মার্জ করার অনুরোধটি অর্পণ করি, উভয় পক্ষ সন্তুষ্ট না হওয়া পর্যন্ত পর্যালোচনা / প্রতিক্রিয়া / আপডেট চক্রের মধ্য দিয়ে যান। তারপরে পর্যালোচক কোডটি মার্জ করে।

মার্জ হওয়ার জন্য অপেক্ষা করা 10-20 শাখা আপনার প্রক্রিয়া ত্রুটিযুক্ত হওয়ার একটি চিহ্ন। আমাদের যদি এমন অনেকগুলি থাকে তবে সমস্ত দেব কাজ শেষ না হওয়া অবধি বন্ধ হয়ে যাবে।


1
আমি যে উত্তরটির সন্ধান করছিলাম তা নয় কারণ আমার সন্দেহ যে আমার বস ট্রাঙ্কের সংগ্রহশালায় তাঁর আঁকুন ooিলা করতে চলেছে। তবে অবিশ্বাস্যরূপে কার্যকর উত্তরটি কম নয়, অন্তর্দৃষ্টিটির জন্য ধন্যবাদ!
ব্যবহারকারী 6567423

5
@ ব্যবহারকারী 67656767৪৩৩: যদি আপনার বস যদি আপনার বক্তব্য অনুসারে বাধা হয়ে দাঁড়ায় তবে তাকে তার পদ্ধতির পরিবর্তন করতে হবে বা স্বীকার করতে হবে যে তিনি বিলম্বের কারণ (যার জন্য তার কর্মচারীদের জন্য দোষ দেওয়া যায় না)। আপনার দৃষ্টিভঙ্গি পরিবর্তন করতে অস্বীকার করা, আপনি যে সমস্যাগুলি তৈরি করছেন তা উপেক্ষা করছেন এবং দোষ অন্যকে চাপিয়ে দেওয়া কোনও ব্যবসা চালানোর কোনও উপায় নয়।
তোলা

1
তিনি সম্মত হন না যে তিনিই বাধা এবং তিনি অবশ্যই এর জন্য অন্যকে দোষ দেন না। তবে হ্যাঁ, আমি এমন কোনও টিপস সন্ধান করছিলাম যা সম্ভবত সহজেই সুস্পষ্ট না হয় যা সম্ভবত আমাদের বাধা হ্রাস করতে পারে। অন্তর্দৃষ্টি জন্য ধন্যবাদ
ব্যবহারকারী 6567423

1
@ ব্যবহারকারী 6567423 আমি আগ্রহী যদি সে কখনও ব্যাখ্যা করে থাকে যে কেন তিনিই কেবল ট্রাঙ্কে মিশে যেতে পারেন।
ম্যাথু

13

এটি মূলত এটি কীভাবে প্রচুর ওপেন সোর্স প্রকল্পের কাজ করে, উল্লেখযোগ্যভাবে লিনাক্স কার্নেল সহ, যার কোনও নির্দিষ্ট সময়ে আপনার তুলনায় ফ্লাইটে অনেক বেশি শাখা রয়েছে। এই প্রকল্পগুলিতে বড় ঠুং শব্দ একত্রীকরণের সাধারণ উপায় হ'ল ক্রমাগত সংহতকরণের জন্য অন্য একটি শাখা (বা একাধিক শাখা) তৈরি করা। আপনার পরিবর্তনগুলি আপনার সহকর্মীদের সাথে একসাথে কাজ করে তা নিশ্চিত করার জন্য আপনি এই শাখাটি ব্যবহার করেন এবং দ্বাররক্ষী পর্যালোচনা করার আশেপাশে এলে এটি পর্যায়ক্রমে ট্রাঙ্কে পুনর্বাসিত হয়।

Allyচ্ছিকভাবে, আপনি নিজের শাখার পর্যালোচনা করার জন্য আপনার নিজের বেশ কয়েকটি পুল অনুরোধগুলিকে এক বৃহত্তর সম্মিলিত অনুরোধের সাথে একত্রিত করতে এই শাখাটি ব্যবহার করতে পারেন। লিনাস টোরভাল্ডস সাধারণত টানা অনুরোধগুলি পান যা দুটি বা তারও বেশি স্তর গভীরভাবে সংহত করা হয়েছে এবং উদাহরণস্বরূপ, একটি সম্পূর্ণ নতুন ফাইল সিস্টেমের ড্রাইভারের ক্রমের আকার থাকতে পারে।


ধন্যবাদ আমি মনে করি শাখাগুলির সংমিশ্রণ এবং দ্বন্দ্ব প্রতিরোধের টিপসগুলি সম্ভবত আমাদের সেরা কর্মকাণ্ড হবে।
ব্যবহারকারী 6567423

8

আমি ডক ব্রাউন উভয়ের সাথেই একমত, তবে আমি আরও একটি অ্যান্টিপ্যাটার্নও দেখতে পাচ্ছি:

আমার মনিব, ট্রাঙ্ক সংগ্রহস্থলের উপর একমাত্র কর্তৃপক্ষ , আসলে হবে মুলতবি সকল পর্যালোচনা শাখা সময় একটি একক বিন্দু পর্যন্ত যেখানে তিনি পর্যালোচনার উপর যত তিনি করতে পারেন অনেক কিছু শাখা উন্নত / সংশোধন করা হয়েছে জন্য ফিরে নিক্ষিপ্ত হবে, সঞ্চালন করা হবে কিছু শাখাগুলি সরাসরি ট্রাঙ্কে মার্জ হবে, কিছু শাখা দ্বন্দ্ব ইত্যাদির কারণে পিছনে ফেলে দেওয়া হবে etc.

আমার নম্রভাবে কিছু ব্যবস্থাপনাপত্র রয়েছে:

  1. তিনি / তিনিই দলের গতিবেগকে বাধা দেওয়ার একক চোক পয়েন্ট। আপনার বাস ফ্যাক্টরটি ১। প্রতিবন্ধকতার তত্ত্বটি বলে যে চেইনের ধীরতম অংশটি উন্নত করার জন্য আপনার প্রচেষ্টা করা উচিত।
  2. আপনার পরিচালক আপনার প্রতিক্রিয়াচক্রকে ধীর করে দিচ্ছেন এবং আপনার দলের তত্পরতা হ্রাস করছেন। আপনি কি প্রতি সপ্তাহে মুক্তি দিতে পারেন?
  3. কোডের পরিমাণের সাথে জটিলতা তাত্পর্যপূর্ণভাবে বাড়ায় মার্জ করে। 1000 লাইনের 1 এর চেয়ে 100 লাইন দিয়ে 10 মার্জ করা ভাল। এটি ASAP হিসাবে আপনার করা উচিত কেবলমাত্র একটি কারণ
  4. আপনি যদি ট্রাঙ্কের কোনও ব্যর্থতা সনাক্ত করেন তবে আপনি এটি পরে সময়ে এটি করতে পারবেন। বেশ কয়েকটি শাখার মধ্যে কোনটি সমস্যাযুক্ত ছিল
  5. সিদ্ধান্তগুলি তাদের উচিত যাদের সম্পর্কে তাদের আরও জ্ঞান রয়েছে by এ ক্ষেত্রে কে বেশি জানে? আমি বাজি ধরছি যে ডেভেলপাররা কোড তৈরি করেছে।
  6. আপনার পরিচালক যদি পবিত্র দিবসে থাকে তবে আপনি উত্পাদনে কোনও বাগ ঠিক করতে পারবেন না।
  7. আপনি কাজটি আবার করছেন এবং শাখাগুলি নিক্ষেপ করছেন। এটি সময়ের অপচয় । উত্পাদনে পৌঁছানোর জন্য অপেক্ষা করা সময়টিও অপচয় is

Recomendations:

  • আপনার ম্যানেজারকে দলে দায়িত্ব অর্পণ করতে হবে। আপনার দেখাতে হবে যে দলটি পরিপক্ক, পেশাদার। তারা দলে বিশ্বাস রাখতে পারে তা পরিষ্কার করুন
  • কিছু পর্যালোচনা পদ্ধতি প্রয়োগ করুন। আপনার অন্য দু'জন দলের সদস্যের আপোরিওল হতে পারে।
  • এসভিএন ব্যবহার করা এটি আরও শক্ত করে তুলছে। গিটকে একবার চেষ্টা করুন এবং দেখুন এটি আপনাকে সাহায্য করে কিনা। আরও বেশি. আপনি যদি গিটহাব ব্যবহার করেন তবে আপনি পুল অনুরোধ প্রক্রিয়াটি ব্যবহার করতে পারেন যাতে মার্জ করার জন্য নির্দিষ্ট ভোটের প্রয়োজন হয়।
  • চতুর অনুশীলন, ক্রমাগত একীকরণ এবং ডিভোপস সম্পর্কিত তথ্য পড়ুন এবং ভাগ করুন।

7
আমি এসভিএন এবং গিট উভয়ের সাথে পেশাদারভাবে কাজ করেছি এবং আমি বলব যে এসভিএন অবশ্যই সমস্যার একটি অংশ: এটি শাখাগুলিতে একক মার্জ-ব্যাক-কমিট নীতি জোর করে যা গিটের মধ্যে নেই। গিট-এ, সমস্ত মার্জগুলি সমান, এসভিএন-তে, কিছু অন্যের চেয়ে সমান। এছাড়াও, স্থানীয় কমিটের অভাব গিটের চেয়ে এসভিএন নিয়ে পরীক্ষা করা আরও কঠিন করে তোলে এবং মঞ্চের অঞ্চলটির অভাব কেবল এসভিএন-এর অদৃশ্যতাকে বাড়িয়ে তোলে। টরভাল্ডস গিট বিকাশের পরিবর্তে কেবল এসভিএন ব্যবহার না করার একটি কারণ রয়েছে ...
সায়েন্স্টার

@ মাস্টার নির্ধারিত কারণ এবং আরও অনেক কারণেই আমার মতে এসএনএন এর চেয়ে গিট অনেক বেশি ভাল
রেগেইগুইটার

আমি সম্মত হই যে গিটটি সম্ভবত আমাদের কিছু মার্জ হওয়া সমস্যাগুলি সমাধান করবে এবং প্রিয় godশ্বর আমি পুনর্বাসনের ব্যবস্থা করতে চাই। তবে আমি মনে করি না আমরা শীঘ্রই যে কোনও সময় স্যুইচটি করতে যাচ্ছি :(
ব্যবহারকার 656567423

1
@ ব্যবহারকারী 6567423, আমি গত বছর একটি পরামর্শ দিয়েছিলাম যেখানে আমি এসএনএন থেকে গিটে একটি ছোট দলকে স্থানান্তরিত করতে এবং তাদের কার্যপ্রবাহের পরিবর্তনে গিটকে প্রশিক্ষণ দেওয়ার এবং কোড রিভিউ এবং সহযোগিতার জন্য গিটল্যাব সম্প্রদায়ের সংস্করণ (যা উন্মুক্ত উত্স) সহ তাদের স্থাপনের কাজ করেছে। । তারা এটি সম্পর্কে খুব উত্সাহী ছিল; এটি একটি রাত এবং দিনের পার্থক্য ছিল। (এছাড়াও এটি মাত্র তিন দিন সময় নিয়েছে))
ওয়াইল্ডকার্ড

2

আপনি যখন পৃথক শাখায় বৈশিষ্ট্যযুক্ত কাজ করেন, তখন কোনও শাখা ট্রাঙ্কে মিশ্রিত করা না হয়ে এবং অন্য বৈশিষ্ট্য শাখায় টানা না যাওয়া পর্যন্ত আপনি সহজেই কোনও সংহতকরণ পরীক্ষা করতে পারবেন না। আমার অভিজ্ঞতায় বিগ ব্যাং মার্জ অ্যান্টি-প্যাটার্নের সাথে এটিই মূল সমস্যা। আদর্শভাবে, আপনি বৈশিষ্ট্যটির কাজ করবেন, বৈশিষ্ট্য শাখায় এটি পরীক্ষা করবেন, এটি ট্রাঙ্কে একীভূত করবেন এবং সেই মুহুর্তে আপনি বৈশিষ্ট্যটি সম্পন্ন করেছেন। যদি এটি একীভূত না হয়ে থাকে, প্রতিবার এটির আগে আপনাকে অন্য কোনও কিছু ট্রাঙ্কে মিশ্রিত করা উচিত। এই অ্যান্টি-প্যাটার্নটির ব্যথা হ'ল আপনার কাছে বিকাশের চক্রের শেষে প্রচুর সংহতকরণ-প্রকারের বাগগুলি প্রদর্শিত হচ্ছে।


1

সুতরাং আপনার 20 টি শাখা রয়েছে। শাখা 1 সবেমাত্র মার্জ করা হয়েছে। তারপরে শাখা 2 এর বিকাশকারীকে দ্বন্দ্ব ছাড়াই প্রধানতে একত্রীকরণের জন্য, তারপরে মার্জ করতে সক্ষম করতে তাদের শাখায় 1 শাখাটি মার্জ করতে হবে। তারপরে শাখা 3 এর বিকাশকারীকে দ্বন্দ্ব ছাড়াই প্রধানতে একত্রীকরণের জন্য শাখা 1 এবং শাখা 2 তাদের শাখায় একত্রীকরণ করতে হবে, তারপরে মার্জ করে।

পাঠকের জন্য অনুশীলন: এমন একটি প্রোগ্রাম লিখুন যা আমার সম্পূর্ণ পোস্টটি ছাপায় :-)

এটা পাগলামি. আপনি একত্রিত হওয়ার এক অবিশ্বাস্য পরিমাণ ব্যয় করবেন।


অগত্যা, শাখাগুলি দ্বন্দ্ব না হলে তিনি কেবল সেগুলি সমস্তই বিরামবিহীন ট্রাঙ্কে মিশ্রিত করতে পারেন। পর্যালোচনার জন্য শাখা জমা দেওয়ার আগে আমরা সাধারণত কোনও পরীক্ষার মার্জ করে যে কোনও দ্বন্দ্ব রোধ করার চেষ্টা করব তবে সারি শাখাগুলির সংখ্যা বৃদ্ধি পাওয়ায় দ্বন্দ্ব অনিবার্যভাবে সামনে আসে। আমি একমত যে যদিও এটি পাগলের মতো শোনাচ্ছে।
ব্যবহারকারী 6567423

2
সাধারণ এসভিএন মার্জিং আচরণ, যতদূর আমি বলতে পারি ...
মাস্টার

0

আপনি যেভাবে কাজ করছেন এবং আপনার মনিবকে একটি দায়বদ্ধ নিয়ন্ত্রণ ফ্রিক, তা দিয়ে শাখা প্রশাখাগুলি নিজেই সমস্যা বলে মনে হচ্ছে। প্রতিটি বৈশিষ্ট্যের জন্য একটি শাখা তৈরি করার পরিবর্তে প্রতিটি বিকাশকারীকে তার বৈশিষ্ট্যগুলি অংশে সরাসরি ট্রাঙ্কে কমিট করতে দিন। এটি একাধিক ছোট পদক্ষেপে (উইন-উইন) বিকাশকারীকে একীকরণের বোঝা চাপায়। গেট রক্ষক বিকাশ চক্রের আরও দীর্ঘ সময়ের মধ্যে ছোট পরিবর্তনগুলি ট্র্যাক করে রাখতে পারে এবং এখনও মাস্টার রিভিউর হতে পারে।

ব্রাঞ্চিং নিজেই এমন একটি জিনিস যা আপনি করতে চান না যদি না এটি করার খুব ভাল কারণ না থাকে বা আপনার কাছে অন্য কোনও বিকল্প না থাকে। জিনিসগুলি আরও দৃ tight়তার সাথে সিঙ্কে রাখার জন্য আপনি যথেষ্ট ছোট, যা সহজ এবং নিরাপদ হবে।


1
এবং সেই বৈশিষ্ট্যগুলির মধ্যে মাত্র 1 টিতে যদি বাগ থাকে বা সময়মতো শেষ না হয় তবে আপনি কীভাবে মুক্তিটি পরিচালনা করবেন? "ব্রাঞ্চিং নিজেই এমন একটি জিনিস যা আপনি করতে চান না যদি আপনি না করার খুব ভাল কারণ না করেন" - একবার আপনার প্রতিটি ব্যক্তির একাধিক বৈশিষ্ট্যগুলিতে 5 জন কাজ করার পরে আপনার ব্রাঞ্চিং ব্যবহার করতে হবে যদি না আপনার খুব ভাল কারণ না থাকে।
আইভো ভ্যান ডের ভেকেন

এটি দুটি জিনিস সম্পর্কে ছিল: বস একমাত্র গেট রক্ষক হিসাবে থাকতে চান এবং জিনিসগুলি খুব বেশি বিচ্যুত হওয়ার কথা নয়। হ্যাঁ, এমন একটি মুহুর্ত আসবে যাতে কোনও কিছুতে চাপ দেওয়া হয়েছিল যা বস দ্বারা তদন্ত করা এখনও হয়নি। যদিও তা সম্ভব তাড়াতাড়ি করতে সক্ষম হওয়া উচিত এবং অবিলম্বে বিতরণ করার দরকার নেই এমন সম্ভাব্য ইভেন্টে তিনি সর্বশেষ প্রতিশ্রুতি ফিরিয়ে দিতে পারেন। এটি জিনিসগুলিকে সিঙ্কে রাখবে এবং আপনি যদি কোনও কিছুতে ব্যর্থ হন তবে অবশ্যই আপনি দ্রুত ব্যর্থ হবেন। পরিস্থিতি হাতছাড়া করার জন্য আমার কাছে ভাল আপস বলে মনে হচ্ছে।
মার্টিন মাট 13

1
আমি এটিকে একটি সর্বশেষ অবলম্বন হিসাবে বিবেচনা করব
রেগেগুইটার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.