কখন উন্নয়ন শাখা তৈরি করা উচিত?


11

আমরা আমাদের প্রকল্পের দলকে একটি একক মেইন / ট্রাঙ্ক শাখা ব্যবহার করে একাধিক বিকাশ / কর্ম শাখায় নিয়ে যাচ্ছি যা নিয়মিত মেইনতে মিশ্রিত করা উচিত। আমরা এই নিবন্ধ এবং টিএফএস শাখা নির্দেশিকা (আমরা টিএফএস এবং ভিজ্যুয়াল স্টুডিও 2010 ব্যবহার করছি) এর ভিত্তিতে আমাদের নতুন প্রক্রিয়াটির ভিত্তি করছি ।

প্রকল্পটিতে যে কোনও সময়ে একযোগে কাজ করছেন বর্তমানে 1 থেকে 5 জন লোক। মূল অবশ্যই সর্বদা স্থিতিশীল থাকতে হবে কারণ আমরা যখনই প্রয়োজন তখন প্রকাশের বিকল্পটি চাই। আমাদের কাছে স্থির স্প্রিন্ট নেই - কমপক্ষে এখনও নয় - এবং এই মুহুর্তে প্রতি 1-2 সপ্তাহে রিলিজ হয়।

ঠিক এই সময়ে প্রতিটি ব্যক্তি অ্যাপ্লিকেশন জুড়ে বাগগুলি ঠিক করছে। কয়েক সপ্তাহের মধ্যে আমরা অ্যাপটির জন্য একটি নতুন বৃহত উপাদানটির বিকাশ শুরু করব।

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

কারও কি এ সম্পর্কে কিছু গাইডেন্স আছে?


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

@ জর্দান: পুরোপুরি ভিত্তিহীন ভয় নয়।
রবার্ট হার্ভে

উত্তর:


9

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

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

টিএফএস সংশ্লেষে কতটা ভাল তা নিশ্চিত নয় তবে আমি নিশ্চিত আপনি কয়েক মাসের মধ্যে জানতে পারবেন :)


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

5

আমরা একটি একক উন্নয়ন শাখা নিয়ে যেতে পারি না কারণ অন্যান্য কাজ শেষ হওয়ার পরে আমরা মেইনটিতে মার্জ করতে চাই।

দেখে মনে হচ্ছে আপনি ইতিমধ্যে জানেন যে একাধিক বিকাশ শাখা তৈরি করতে হবে। দুটি সম্ভাব্য পরিস্থিতি মাথায় আসে:

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

1

ডিভিসিএসের সাহায্যে কার্যকারী শাখাগুলি

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

আমরা প্রায়শই স্পষ্ট শাখা তৈরি করি না, তবে তারপরে আবার আমাদের স্প্রিন্টগুলি কখনই 1 সপ্তাহের বেশি হয় না এবং কার্ডগুলি সম্পূর্ণ হতে 1-2 দিনের বেশি সময় নেয় না।

এছাড়াও, কোডের অন্যান্য অংশ বা অন্যান্য প্রকল্পগুলি থেকে কাজ করে থ্রেড করে আপনি মার্জ ব্যথা প্রশমিত করতে পারেন যাতে লোকেরা সবসময় কঠিন সংহতকরণ করতে না হয়।


0

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


0

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

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