ঠিক প্রায় অর্ধ বছর আগে আমাকে এই প্রশ্নের উত্তর দেওয়ার জন্য একটি অধ্যয়ন করার দায়িত্ব দেওয়া হয়েছিল। অধ্যয়ন করা রেফারেন্সের উপর ভিত্তি করে এখানে সংক্ষিপ্তসারটি দেওয়া হয়েছে (নীচে তালিকাভুক্ত)
http://msdn.microsoft.com/en-us/library/aa730834%28v=vs.80%29.aspx
... সেরা ব্রাঞ্চিং কৌশলটি সিদ্ধান্ত নেওয়া ভারসাম্যপূর্ণ কাজ। আপনার অবশ্যই উত্পাদনশীলতা লাভকে বর্ধিত ঝুঁকির বিরুদ্ধে বাণিজ্য করতে হবে। একটি নির্বাচিত কৌশলকে বৈধতা দেওয়ার একটি উপায় হ'ল পরিবর্তনের একটি দৃশ্য বিবেচনা করা। উদাহরণস্বরূপ, যদি আপনি সিস্টেম আর্কিটেকচারের সাথে শাখাগুলি সারিবদ্ধ করার সিদ্ধান্ত নেন (উদাহরণস্বরূপ, একটি শাখা একটি সিস্টেম উপাদানকে উপস্থাপন করে) এবং আপনি উল্লেখযোগ্য স্থাপত্যগত পরিবর্তনগুলি প্রত্যাশা করেন, তবে আপনাকে প্রতিটি শাখা এবং সম্পর্কিত প্রক্রিয়া এবং নীতিগুলি প্রতিটি পরিবর্তনের সাথে পুনর্গঠন করতে হতে পারে। অপর্যাপ্ত শাখাগুলি কৌশল নির্বাচন করা প্রক্রিয়া ওভারহেড এবং দীর্ঘতর ইন্টিগ্রেশন এবং পুরো চক্রের জন্য হতাশ প্রমাণকারী রিলিজ চক্রের কারণ হতে পারে ...
http://www.cmcrossroads.com/bradapp/acme/branching/
... ঘন ঘন, ইনক্রিমেন্টাল ইন্টিগ্রেশন সাফল্যের অন্যতম লক্ষণ এবং এর অনুপস্থিতি প্রায়শই ব্যর্থতার বৈশিষ্ট্য। বর্তমান প্রকল্প পরিচালনার পদ্ধতিগুলি কঠোর জলপ্রপাতের মডেলগুলি এড়াতে এবং পুনরাবৃত্ত / বর্ধনশীল বিকাশ এবং বিবর্তনীয় সরবরাহের সর্পিল জাতীয় মডেলগুলিকে আলিঙ্গন করে। মার্ালি আর্লি এবং প্রায়শই এবং এটির রূপগুলি মার্জ করার মতো বর্ধিত সংহতকরণ কৌশলগুলি হ'ল ঝুঁকি ব্যবস্থাপনার একধরণের যা সাধ্যের জন্য আরও সময় পেলে লাইফসাইকেলে ঝুঁকিটি প্রবাহিত করার চেষ্টা করে। ইন্টিগ্রেশনগুলির মধ্যে ছন্দের নিয়মিততা [বুচ], [ম্যাককার্টি] এবং [ম্যাককনেল] প্রকল্পের স্বাস্থ্যের শীর্ষস্থানীয় সূচক হিসাবে ("ডাল" বা "হার্টবিট") হিসাবে দেখেছেন।
তাড়াতাড়ি এবং ঘন ঘন একত্রিত হওয়ার ফলে তাড়াতাড়ি এবং আরও ছোট "খণ্ডগুলি" হয়ে যায় না, এটি সতীর্থদের মধ্যে পরিবর্তনের কথাও বলে ...
http://www.codinghorror.com/blog/2007/10/software-branching-and-parallel-universes.html
... বেশিরভাগ সোর্স কন্ট্রোল সিস্টেমে আপনি শতভাগ শাখা তৈরি করতে পারেন যা কিছুই পারফরম্যান্স সমস্যা ছাড়াই; আপনার যে সমস্ত শাখাগুলির সম্পর্কে সত্যই উদ্বিগ্ন হওয়া দরকার সেগুলি ট্র্যাক করার মানসিক ওভারহেড ... শাখা একটি জটিল জন্তু। শাখা করার কয়েক ডজন উপায় রয়েছে এবং আপনি সঠিকভাবে বা অন্যায় করছেন কিনা তা সত্যিই কেউ আপনাকে বলতে পারে না ...
http://www.lostechies.com/blogs/derickbailey/archive/2010/02/24/branching-strategies-when-to-branch-and-merge.aspx
... আপনার কোডটি শাখা করার সময় একটি সিস্টেমের অনেকগুলি দিক বিবেচনা করা উচিত ... শেষ পর্যন্ত, লক্ষ্যটি প্রসঙ্গে কোডটি লেখা হচ্ছে তার জন্য একটি স্যান্ডবক্স সরবরাহ করা। উপলভ্য বিকল্পগুলি বোঝা, যখন প্রতিটি বিকল্প হাতের পরিস্থিতি অনুসারে সবচেয়ে উপযুক্ত এবং এই বিকল্পগুলির ব্যয় আপনাকে কীভাবে এবং কখন শাখা করবে তা সিদ্ধান্ত নিতে সহায়তা করবে ...
http://www.snuffybear.com/ucm_branch.htm
এখানে তালিকাভুক্ত অন্যান্য রেফারেন্স দেওয়া নোট, লেখকের দাবি যে "এই নিবন্ধটি সফ্টওয়্যার ইঞ্জিনিয়ারিং প্রকল্পগুলিতে ব্যবহৃত তিনটি মূল শাখা মডেলকে বর্ণনা করে " ন্যায়সঙ্গত বলে মনে হয় না। ব্যবহৃত পরিভাষা বিস্তৃত দেখায় না ( EFIX , মডেল -1,2,3 ইত্যাদি)।
http://svn.haxx.se/users/archive-2007-10/att-0101/SCMBranchingModels-talkback.pdf
রেফারেন্স শাখা কৌশলগুলি যোগাযোগের ক্ষেত্রে অসুবিধার একটি আকর্ষণীয় উদাহরণ উপস্থাপন করে।
http://simpleprogrammer.com/2010/06/04/simple-branching-strategy-part-1-back-to-basics/
... এটিকে সরল রাখুন। ট্রাঙ্ক থেকে সরাসরি কাজ করা আমার মতে সবচেয়ে ভাল পন্থা।
এটি যখন আমার স্ক্রিনে প্রকৃতপক্ষে টাইপ করা হয় তখন এটি প্রায় ধর্মবিরোধের মতো মনে হয়, তবে আপনি যদি আমার সাথে এক মুহুর্তের জন্য সহ্য করেন তবে আমি কেবল আপনাকেই প্রদর্শন করব না কেন আমি মনে করি এটি কেন একটি চপল প্রক্রিয়ার জন্য অপরিহার্য বলে মনে হয়, তবে আমি আপনাকে প্রদর্শন করব কীভাবে এটিকে কাজ করার জন্য ...
... যদি আমার যুক্তিগুলি একটি দৃ argument় যুক্তির উপর ভিত্তি করে করা হয় তবে এটি ক্রমাগত সংহতকরণের মান হবে। আমি সিআই এর মান এবং অতীতে সেরা অনুশীলনগুলি সম্পর্কে ব্লগ করেছি । আমি সিআই এর বেশ বড় বড় উকিল ...
... আপনাকে এখানে নিজেকে সত্যিই একটি প্রশ্ন জিজ্ঞাসা করতে হবে: "আপনার জটিল ব্রাঞ্চিং এবং মার্জ করার কৌশলটি আপনি যে সমস্ত ওভারহেডের সাথে নিয়ে আসছেন তা কি সত্যিকারের মূল্য যা আরও সাধারণ কৌশলটির অস্তিত্বের মধ্যে নেই?" ...
.. .আর কৌশল আমি অতীতে কার্যকরভাবে ব্যবহার করেছি এবং সময়ের সাথে সাথে বিকাশ করেছি। আমি সংক্ষেপে এখানে সংক্ষেপে করব।
- প্রত্যেকে ট্রাঙ্ক বন্ধ কাজ করে।
- শাখা আপনি কোড প্রকাশ যখন।
- যখন আপনাকে ইতিমধ্যে প্রকাশিত কোডের জন্য বাগ ফিক্স তৈরি করতে হবে তখন একটি রিলিজ বন্ধ করবে।
- প্রোটোটাইপ জন্য শাখা।
...
http://www.codelathe.com/blog/index.php/2009/07/02/a-svn-branching-strategy-that-works/
... অবশেষে, মনে রাখবেন যে কোনও আদর্শ শাখা এবং মার্জ করার কৌশল নেই। এটি আপনার অনন্য বিকাশের পরিবেশের উপর নির্ভর করে ...
http://blog.perforce.com/blog/?cat=62
... সবচেয়ে খারাপ পরিস্থিতিটি হ'ল আপনি একটি "শব্দার্থক মার্জ" সমস্যাটি প্রবর্তন করেন, যেখানে একটি স্বয়ংক্রিয় সংযুক্তির ফলাফলটি ভুল, তবে ঠিক আছে এবং সংকলিত অতীতকে লুকিয়ে রাখে পরীক্ষা, সম্ভবত গ্রাহক-দৃশ্যমান বাগ হিসাবে যথেষ্ট দীর্ঘকাল বেঁচে থাকা। Eek!
চোটে অপমান যুক্ত করা, কারণ তারা আরও বেশি সময় ধরে সনাক্ত থেকে বাঁচতে পারে, অর্থাতৃত মার্জ সমস্যাগুলি পরে সংশোধন করা আরও শক্ত, যেহেতু পরিবর্তনটি আরম্ভ করে এমন বিকাশকারীর মনে পরিবর্তন নতুনভাবে নেই যিনি পরিবর্তনের সূচনা করেছিলেন। (পরিবর্তনের পরে খুব শীঘ্রই পরিবর্তনগুলি মার্জ করা ভাল ide
https://stackoverflow.com/questions/34975/branching-strategies
সম্প্রদায়ের সদস্যরা বিভিন্ন শাখার কৌশল ব্যবহার করে বিভিন্ন প্রকল্পে বিভিন্ন অভিজ্ঞতা ভাগ করে নেন। "সেরা" বা "সবচেয়ে খারাপ" বিষয়ে সম্মত সম্মতি নেই।
http://www.stickyminds.com/s.asp?F=S16454_COL_2
মূলত http://oreilly.com / ক্যাটাগল / প্র্যাকটিক্যাল্পেরফোর্স / চ্যাটার / ch07.pdf এ উপস্থাপিত সামগ্রীর সংক্ষিপ্তসার
- http://www.stickyminds.com/s.asp?F=S16511_COL_2
... কখন এবং কীভাবে শাখা করবেন সিদ্ধান্ত নেওয়ার জন্য তিনটি সাধারণ পন্থা রয়েছে:
- আপনি যখন "বৈশিষ্ট্য সম্পূর্ণ" থাকবেন তখন রিলিজ শাখা তৈরি করুন এবং এই কোড লাইনে শেষ মুহূর্তের সমস্যাগুলি ঠিক করার পরিকল্পনা করছেন। এই ক্ষেত্রে, সফ্টওয়্যার কনফিগারেশন ম্যানেজমেন্ট প্যাটার্নগুলিতে বর্ণিত হিসাবে রিলিজ শাখাটি আসলেই একটি "রিলিজ-প্রিপ কোড লাইন" , যেহেতু আপনি আশা করেন যে এখনও কাজ শেষ হবে।
- সক্রিয় বিকাশের লাইনের বাইরে কাজ করে চূড়ান্ত সংহতকরণ কাজ এড়াতে আপনার কাজের স্টাইলটি পরিবর্তন করুন।
- একটি কার্য শাখা তৈরি করে এবং সেই কাজটি প্রকাশের পরে সক্রিয় উন্নয়ন লাইনে মার্জ করে নতুন কাজের জন্য শাখা।
... শাখার জন্য যুক্তি হ'ল একটি রিলিজের শেষে কোডটি বিচ্ছিন্ন করা যাতে এটি স্থিতিশীল হয়। ব্রাঞ্চিংয়ের মাধ্যমে বিচ্ছিন্নতা প্রায়শই একটি মানের সমস্যার মুখোশ দেয় যা পণ্য প্রকাশের আগে সমান্তরাল স্ট্রিমগুলি বজায় রাখার অতিরিক্ত খরচে নিজেকে প্রকাশ করে। ব্রাঞ্চিং সহজ। বরং এটি যে শাখাগুলির মধ্যে যে পরিবর্তনগুলি কঠিন তা কীভাবে পরিবর্তিত হয় তা বোঝার একত্রীকরণ এবং জ্ঞানীয় ওভারহেড, সুতরাং শাখা প্রশস্তকরণ এবং মার্জিংয়ের ব্যয়কে হ্রাস করে এমন একটি প্রক্রিয়া চয়ন করা গুরুত্বপূর্ণ ...
http://nvie.com/posts/a-successful-git-branching-model/ গিট-ওরিয়েন্টেড কৌশল।
... আমরা উত্স / মাস্টারকে প্রধান শাখা হিসাবে বিবেচনা করি যেখানে হেডের উত্স কোড সর্বদা উত্পাদন-প্রস্তুত অবস্থার প্রতিফলন করে ।
আমরা উত্স / বিকাশকে প্রধান শাখা হিসাবে বিবেচনা করি যেখানে হেডের উত্স কোড সর্বদা পরবর্তী রিলিজের জন্য সর্বশেষ বিতরণ করা বিকাশের পরিবর্তনগুলি সহ একটি রাষ্ট্রকে প্রতিফলিত করে। কেউ এটিকে "সংহতকরণ শাখা" বলবেন would এখান থেকে রাতের যে কোনও স্বয়ংক্রিয় বিল্ডগুলি তৈরি করা হয় ....
http://svnbook.red-bean.com/en/1.5/svn.branchorses.html
... প্রকল্পের নীতিগুলি যখন কোনও বৈশিষ্ট্য শাখা তৈরি করা উপযুক্ত তখন ঠিক সেই বিষয়ে ব্যাপকভাবে পরিবর্তিত হয়। কিছু প্রকল্প কখনও বৈশিষ্ট্য শাখা ব্যবহার করে না: প্রতিশ্রুতি / ট্রাঙ্ক একটি বিনামূল্যে জন্য। এই সিস্টেমের সুবিধাটি হ'ল এটি সহজ — ব্রাঞ্চিং বা মার্জ করার বিষয়ে কারওই শেখার দরকার নেই। অসুবিধাটি হ'ল ট্রাঙ্ক কোডটি প্রায়শই অস্থির বা অব্যবহৃত থাকে। অন্যান্য প্রকল্পগুলি শাখাগুলি একটি চূড়ান্তভাবে ব্যবহার করে: কোনও পরিবর্তন কখনও ট্রাঙ্কে সরাসরি প্রতিশ্রুতিবদ্ধ হয় না। এমনকি সবচেয়ে তুচ্ছ পরিবর্তনগুলি একটি স্বল্প-কালীন শাখায় তৈরি করা হয়, সাবধানে পর্যালোচনা করা হয়েছে এবং ট্রাঙ্কে একীভূত করা হয়েছে। তারপরে শাখাটি মুছে ফেলা হয়। এই সিস্টেমটি সর্বদা একটি ব্যতিক্রমী স্থিতিশীল এবং ব্যবহারযোগ্য ট্রাঙ্কের গ্যারান্টি দেয় তবে প্রচুর ব্যয় করেপ্রক্রিয়া ওভারহেড
বেশিরভাগ প্রকল্পগুলি রাস্তার মাঝামাঝি পদ্ধতির গ্রহণ করে। তারা সাধারণত জোর দেয় যে / ট্রাঙ্ক সংকলন করে এবং সর্বদা রিগ্রেশন পরীক্ষা পাস করে। ফিচার শাখা কেবল তখনই প্রয়োজন যখন পরিবর্তনের জন্য বিপুল সংখ্যক অস্থিতিশীল কমিটগুলির প্রয়োজন হয়। থাম্বের একটি ভাল নিয়মটি এই প্রশ্নটি জিজ্ঞাসা করা: যদি বিকাশকারীরা কয়েক দিন বিচ্ছিন্ন হয়ে কাজ করে এবং তারপরে একসাথে বৃহত পরিবর্তন সম্পাদন করে (যাতে / ট্রাঙ্কটি কখনই অস্থিতিশীল হয় না), পর্যালোচনা করা কি খুব বড় পরিবর্তন হবে? যদি এই প্রশ্নের উত্তর "হ্যাঁ" হয় তবে পরিবর্তনটি একটি বৈশিষ্ট্য শাখায় বিকাশ করা উচিত। বিকাশকারী যেমন শাখায় বর্ধিত পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ, সেগুলি সহজেই পিয়ারদের দ্বারা পর্যালোচনা করা যেতে পারে।
পরিশেষে, কাজের অগ্রগতির সাথে সাথে ট্রাঙ্কের সাথে কীভাবে একটি বৈশিষ্ট্য শাখাটিকে "সিঙ্ক" এ রাখা যায় তার সমস্যা রয়েছে। যেমনটি আমরা আগেই বলেছি, সপ্তাহে বা মাস ধরে একটি শাখায় কাজ করার একটি বড় ঝুঁকি রয়েছে; ট্রাঙ্কের পরিবর্তনগুলি pourালাওভাবে অব্যাহত রাখতে পারে যেখানে উন্নয়নের দুটি লাইন এত বেশি পৃথক হয় যে এটি শাখাকে আবার ট্রাঙ্কে একীভূত করার চেষ্টা করা একটি দুঃস্বপ্ন হয়ে উঠতে পারে।
নিয়মিত শাখায় ট্রাঙ্কের পরিবর্তনগুলি মার্জ করে এই পরিস্থিতিটি সর্বোত্তমভাবে এড়ানো যায়। একটি নীতি আপ করুন: সপ্তাহে একবার, শাখায় গত সপ্তাহের মূল্য ট্রাঙ্কের পরিবর্তনগুলি মার্জ করুন ...
http://thedesignspace.net/MT2archives/000680.html
... অ্যালভিস সিভিএস টিউটোরিয়ালটির এই বিভাগটি গ্রহগ্রন্থ ওয়েবসাইটের পল গ্লেজেনের নিবন্ধের উপর ভিত্তি করে: গ্রহন এবং সিভিএসের সাথে শাখা করা , এবং শর্তাদির অধীনে তার অনুমতিতে ব্যবহৃত হয় ইপিএল লাইসেন্স। আমি তার সংস্করণে যে পরিবর্তনগুলি করছি তা হ'ল মূলত এটি আরও ধাপে ধাপে চিত্র এবং ব্যাখ্যার সাথে আরও প্রসারিত করা এবং এটি আমার নিজের শিক্ষানবিশ টিউটোরিয়ালগুলির সাথে এটি আরম্ভ করে এবং ডিজাইনারদের কাছে আরও অ্যাক্সেসযোগ্য করার চেষ্টা করে integ অভিজ্ঞ বিকাশকারীরা সম্ভবত পলের সংস্করণ থেকে কাজ করতে পছন্দ করবেন ...
http://learnsoftwareprocesses.com/2007/12/29/common-branching-strategies/
... এখানে কিছু সাধারণ ব্রাঞ্চিং মডেল রয়েছে:
- শাখা-দ্বারা-প্রকাশের মডেল: সর্বাধিক সাধারণ শাখার কৌশল হ'ল পণ্য প্রকাশের সাথে শাখাগুলি সারিবদ্ধ করা। একটি শাখা একক রিলিজের জন্য সমস্ত সফ্টওয়্যার বিকাশ সম্পদ ধারণ করে। কখনও কখনও আপডেটগুলি এক রিলিজ থেকে অন্য রিলিজ হওয়া প্রয়োজন তবে এগুলি সাধারণত কখনও একত্রিত হয় না। একটি রিলিজ অবসর নেওয়ার পরে শাখাগুলি বন্ধ করা হবে।
- প্রচার প্রতি শাখা: অন্য খুব সাধারণ পদ্ধতির মধ্যে শাখাগুলি সফ্টওয়্যার সম্পদ প্রচারের স্তরের সাথে সারিবদ্ধ করা। একটি নির্দিষ্ট বিকাশ সংস্করণ একটি পরীক্ষা শাখায় ব্রাঞ্চ করা হয়, যেখানে সমস্ত ইন্টিগ্রেশন এবং সিস্টেম পরীক্ষা করা হয়। আপনি যখন পরীক্ষা শেষ করেন, সফ্টওয়্যার বিকাশ সম্পদগুলি উত্পাদন শাখায় ব্রাঞ্চ হয় এবং শেষ পর্যন্ত মোতায়েন করা হয়।
- কার্য প্রতি শাখা: ওভারল্যাপিং কাজগুলি (বা ক্রিয়াকলাপ) এবং উত্পাদনশীলতার ক্ষতি এড়াতে আপনি এগুলি একটি পৃথক শাখায় বিচ্ছিন্ন করতে পারেন। মনে রাখবেন যে এগুলি স্বল্প-মেয়াদী শাখা যা টাস্কটি শেষ হওয়ার সাথে সাথে মার্জ করা উচিত, অন্যথায় প্রয়োজনীয় সংযুক্তির প্রচেষ্টা প্রথমে তাদের তৈরির উত্পাদনশীলতার সুবিধাগুলি ছাড়িয়ে যেতে পারে।
- উপাদান প্রতি শাখা: আপনি প্রতিটি শাখা সিস্টেম আর্কিটেকচারের সাথে সারিবদ্ধ করতে পারেন। এই কৌশলটিতে, আপনি পৃথক উপাদানগুলি (বা সাবসিস্টেমগুলি) বন্ধ করে দিয়েছেন। তারপরে একটি উপাদান বিকাশকারী প্রতিটি টিম সিদ্ধান্ত নেয় যে তাদের কোডটি কখন পুনরায় ডেভলপমেন্ট লাইনে সংহত করতে হবে যা ইন্টিগ্রেশন শাখা হিসাবে কাজ করে। যদি সিস্টেম আর্কিটেকচারটি স্থানে থাকে এবং স্বতন্ত্র উপাদানগুলির সুবিন্যস্ত ইন্টারফেস থাকে তবে এই কৌশলটি ভালভাবে কাজ করতে পারে। আপনি শাখাগুলিতে উপাদানগুলি বিকাশ করার বিষয়টি সফ্টওয়্যার বিকাশের সম্পদের উপর আরও সূক্ষ্ম নিয়ন্ত্রণ নিয়ন্ত্রণ করতে সক্ষম করে।
- প্রযুক্তি প্রতি শাখা: সিস্টেমের আর্কিটেকচারের সাথে সামঞ্জস্য করা আরেকটি শাখা কৌশল। এই ক্ষেত্রে শাখাগুলি প্রযুক্তি প্ল্যাটফর্মগুলিতে সংযুক্ত করা হয়। সাধারণ কোডটি একটি পৃথক শাখায় পরিচালনা করা হয়। শাখাগুলিতে পরিচালিত সফ্টওয়্যার বিকাশের সম্পদের অনন্য প্রকৃতির কারণে তারা সম্ভবত কখনও মার্জ হয় না ...
http://msdn.microsoft.com/en-us/library/bb668955.aspx
... শাখা পরিচালনা এবং মার্জিং গাইডলাইনগুলির সংক্ষিপ্তসার জন্য এই গাইডের "উত্স নিয়ন্ত্রণ নির্দেশিকা" তে শাখা পরিচালনা এবং মার্জিং গাইডলাইনগুলি দেখুন। ... শাখা করার সময়, নিম্নলিখিতটি বিবেচনা করুন:
- আপনার ডেভেলপমেন্ট টিমকে একই সেটগুলির একই সংকলনে কাজ করার প্রয়োজন না হলে শাখা করবেন না। আপনি যদি এ সম্পর্কে অনিশ্চিত হন তবে আপনি কোনও বিল্ডকে লেবেল করতে পারেন এবং পরবর্তী সময়ে সেই বিল্ড থেকে একটি শাখা তৈরি করতে পারেন। শাখা মার্জ করা সময়সাপেক্ষ এবং জটিল হতে পারে, বিশেষত যদি তাদের মধ্যে উল্লেখযোগ্য পরিবর্তন হয় changes
- আপনার শাখাগুলি কাঠামো গঠন করুন যাতে আপনার ক্রমবর্ধমান অংশের পরিবর্তে কেবল শ্রেণিবদ্ধ (শাখা গাছের উপরে এবং নীচে) বরাবর মার্জ করা উচিত। শ্রেণিবিন্যাস জুড়ে বিস্তৃত হওয়ার জন্য আপনাকে একটি ভিত্তিহীন মার্জ ব্যবহার করা দরকার, যার জন্য আরও ম্যানুয়াল দ্বন্দ্বের সমাধানের প্রয়োজন।
- শাখার শ্রেণিবিন্যাস শাখা পিতা বা মাতা এবং শাখা সন্তানের উপর ভিত্তি করে থাকে যা ডিস্কের উত্স কোডের শারীরিক কাঠামোর চেয়ে আলাদা হতে পারে। আপনার মার্জগুলির পরিকল্পনা করার সময়, ডিস্কের শারীরিক কাঠামোর চেয়ে লজিক্যাল ব্রাঞ্চের কাঠামো মনে রাখবেন।
- খুব গভীরভাবে শাখা করবেন না। যেহেতু প্রতিটি সংশ্লেষ কার্যকর করতে এবং দ্বন্দ্বগুলি সমাধান করতে সময় লাগে, একটি গভীর শাখা কাঠামোর অর্থ শিশু শাখায় পরিবর্তনগুলি মূল শাখায় প্রচার করতে খুব দীর্ঘ সময় নিতে পারে। এটি নেতিবাচকভাবে প্রকল্পের সময়সূচিগুলিকে প্রভাবিত করতে পারে এবং বাগগুলি ঠিক করার সময় বাড়িয়ে তুলতে পারে।
- একটি উচ্চ-স্তরের শাখা এবং কনফিগারেশন এবং উত্স ফাইল অন্তর্ভুক্ত।
- সময়ের সাথে সাথে আপনার শাখা কাঠামোটি বিকশিত করুন।
- মার্জ করার জন্য এক বা একাধিক বিকাশকারীকে মার্জটি কার্যকর করতে এবং দ্বন্দ্বগুলি সমাধান করতে হবে। মার্জড উত্সটি অবশ্যই পুরোপুরি পরীক্ষা করা উচিত কারণ খারাপ সংযুক্তির সিদ্ধান্ত নেওয়া অস্বাভাবিক নয় যা বিল্ডটি অস্থিতিশীল করতে পারে।
- শাখার শ্রেণিবিন্যাস জুড়ে একত্রিত হওয়া বিশেষত কঠিন এবং আপনাকে অনেকগুলি দ্বন্দ্বকে ম্যানুয়ালি হ্যান্ডেল করা প্রয়োজন যা অন্যথায় স্বয়ংক্রিয়ভাবে পরিচালনা করা যেতে পারে।
শাখা তৈরি করা হবে কিনা তা সিদ্ধান্তে হ্রাস করা যেতে পারে যে রিয়েল টাইমে সংঘাতের সংশ্লেষের ব্যয়টি শাখার মধ্যে সংঘাতের মিশ্রণের ওভারহেড ব্যয়ের চেয়ে বেশি কিনা ...
http://kashfarooq.wordpress.com/2009/11/23/bazaar-branching-strategy-with-a-subversion-trunk/
বিবর্তিত সিস্টেমের ক্ষেত্রে মুক্তি বিচ্ছিন্নতা কৌশল কৌশল জন্য সেরা অনুশীলনের আলোচনা http://social.msdn.microsoft.com/forums/en/tfsversioncontrol/thread/f127676c-8f05-410c-9a30-0eb43a26a9fa
http://branchingguidance.codeplex.com/
"মাইক্রোসফ্ট টিম ফাউন্ডেশন সার্ভার ব্র্যাঞ্চিং গাইডেন্স" - বিভিন্ন প্রকল্পের জন্য প্রস্তাবিত সুপারিশযুক্ত বিশাল এবং বিস্তারিত নথি: এইচটিএমএল সংস্করণ এখানে । প্রমাণ করে যে মাইক্রোসফ্ট এক-আকারের-ফিট-অল পদ্ধতির আর্ট ব্রাঞ্চিং কৌশলগুলিতে বিশ্বাস করে না।
https://stackoverflow.com/questions/597707/best-branching-strategy-when-doing-continuous-integration
আপনি যখন অবিচ্ছিন্ন ইন্টিগ্রেশন করতে চান তখন ব্যবহার করার জন্য সেরা শাখা কৌশল কী? ... উত্তরটি আপনার দলের আকার এবং আপনার উত্স নিয়ন্ত্রণের গুণমান এবং সঠিকভাবে জটিল পরিবর্তন সেটগুলিকে মার্জ করার দক্ষতার উপর নির্ভর করে ...
-
হডসন / জেনকিন্সের সাথে কংক্রিটের অভিজ্ঞতার উপর ভিত্তি করে http://www.zeroturnaround.com/blog/continuous-integration-and-feature-bankches/ ধারাবাহিক সংহতকরণের সাথে ব্রাঞ্চিং ইন্টারপ্লে সম্পর্কিত আরও বিশদ বিশ্লেষণ - সহ বেশ কয়েকটি দরকারী উল্লেখের সাথে
.. .আমাদের সবচেয়ে বড় আবিষ্কারটি ছিল যে সিআই প্রায়শই প্রতিশ্রুতিবদ্ধ হওয়া, চাপ দেওয়া এবং প্রায়শই প্রতিক্রিয়া পাওয়া সম্পর্কে (যেমন সিআই ক্লাস্টার আপনাকে প্রতিক্রিয়া সরবরাহ করে যা আপনার ওয়ার্কস্টেশন আপনাকে একই পরিমাণে কখনই দিতে পারে না), সত্য পিউরিস্ট সিআই আসলে আরও একটি প্রয়োজনীয়তা রয়েছে - যে দলের একই বেসলাইনে কাজ করা উচিত ...
উপাদান ব্যবহৃত
http://codicesoftware.blogspot.com/2010/03/branching-strategies.html
... সিভিএস এবং এসভিএন সম্পূর্ণ ব্রাঞ্চিং / মার্জ কৌশলকে নিরুৎসাহিত করছে যেহেতু তারা সম্পূর্ণরূপে এটি করতে অক্ষম ছিল ... ... সরল নিয়ম: আপনার প্রয়োগ করা প্রতিটি নতুন বৈশিষ্ট্য বা বাগফিক্সের জন্য একটি টাস্ক শাখা তৈরি করুন ... এটি এসভিএন / সিভিএস ব্যবহারকারীদের জন্য ওভারকিলের মতো শোনাতে পারে তবে আপনি জানেন যে কোনও আধুনিক এসসিএম আপনাকে একটি সেকেন্ডে শাখা তৈরি করতে দেবে, তাই আসল ওভারহেড নেই।
গুরুত্বপূর্ণ দ্রষ্টব্য: আপনি যদি এটি মনোযোগ সহকারে দেখেন তবে আপনি দেখতে পাবেন যে আমি টাস্ক শাখাগুলি ধনী-মানুষ চেঞ্জলিস্ট হিসাবে ব্যবহার করার বিষয়ে কথা বলছি ...
http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m1/index.jsp?topic=/com.ibm.rational.c
ियरcase.cc_proj.doc/c_bntr_plnbrstrat.htm ... শাখা নীতি বিকাশের দ্বারা প্রভাবিত হয় প্রকল্পের উদ্দেশ্যগুলি এবং কোড বেসের বিবর্তন নিয়ন্ত্রণের জন্য একটি প্রক্রিয়া সরবরাহ করে। যুক্তিযুক্ত ক্লিয়ারকেস সংস্করণ নিয়ন্ত্রণ ব্যবহার করে এমন সংস্থাগুলির মতো শাখা নীতিমালার অনেকগুলি প্রকরণ রয়েছে। তবে আরও কিছু মিল রয়েছে যা সর্বোত্তম অনুশীলনের সাধারণ আনুগত্যকে প্রতিফলিত করে ...
http://blogs.open.collab.net/svn/2007/11/branching-strat.html
... সাবভার্সন মডেল (বা সাধারণ ওপেন সোর্স মডেল আরও নির্ভুলভাবে) অস্থির ট্রাঙ্ক মডেলটিতে প্রদর্শিত হচ্ছে যা .. ।
http://en.wikedia.org/wiki/Trunk_%28software%29
সফ্টওয়্যার বিকাশের ক্ষেত্রে ট্রাঙ্কটি সংশোধন নিয়ন্ত্রণের অধীনে একটি ফাইল গাছের নামবিহীন শাখা (সংস্করণ) বোঝায় । ট্রাঙ্কটি সাধারণত এমন একটি প্রকল্পের ভিত্তি হিসাবে বোঝানো হয় যেখানে উন্নতি হয়। যদি বিকাশকারীরা ট্রাঙ্কে একচেটিয়াভাবে কাজ করে থাকেন তবে এতে সর্বদা প্রজেক্টের সর্বশেষতম কাটিয়া-প্রান্ত সংস্করণ থাকে তবে এটি সম্ভবত সবচেয়ে অস্থির সংস্করণও হতে পারে। আরেকটি পদ্ধতির হ'ল ট্রাঙ্কের বাইরে একটি শাখা বিভক্ত করা, সেই শাখায় পরিবর্তনগুলি প্রয়োগ করা এবং শাখাটি স্থিতিশীল এবং কাজ করে প্রমাণিত হওয়ার পরে পরিবর্তনগুলি আবার ট্রাঙ্কে একীভূত করা। বিকাশ মোড এবং প্রতিশ্রুতি উপর নির্ভর করেনীতি ট্রাঙ্কে সর্বাধিক স্থিতিশীল বা সর্বনিম্ন স্থিতিশীল বা কোনও-মধ্যে-সংস্করণ থাকতে পারে।
প্রায়শই প্রধান বিকাশকারী কাজটি ট্রাঙ্কে সঞ্চালিত হয় এবং স্থিতিশীল সংস্করণগুলি ব্রাঞ্চ হয় এবং মাঝে মাঝে বাগ-ফিক্সগুলি শাখা থেকে ট্রাঙ্কে মিশে যায়। যখন ভবিষ্যতের সংস্করণগুলির বিকাশ ট্রাঙ্কবিহীন শাখায় করা হয় তখন এটি সাধারণত এমন প্রকল্পগুলির জন্য করা হয় যা প্রায়শই পরিবর্তন হয় না, বা যেখানে ট্রাঙ্কে অন্তর্ভুক্তির জন্য প্রস্তুত না হওয়া পর্যন্ত কোনও পরিবর্তন বিকাশ হতে অনেক সময় নেয় বলে আশা করা হয় .. ।
http://www.mcqueeney.com/roller/page/tom/20060919
... কোলাবনেট 30 আগস্ট, 2006 দ্বারা পরিচালিত সাবভার্সন সেরা অভ্যাসগুলির উপর একটি ওয়েবিনারের এই নোটগুলি । ... দুটি সাংগঠনিক কৌশল: অস্থির ট্রাঙ্ক বনাম স্থিতিশীল ট্রাঙ্ক ... ... সম্ভব হলে অস্থির ট্রাঙ্কটি প্রিফার করুন ...
https://stackoverflow.com/questions/153812/subversion-is-trunk-really-the-best-place-for-the-main-de
વિકાસment এসভিএন-তে, ট্রাঙ্কটি মূল বিকাশের জন্য প্রস্তাবিত স্থান এবং আমি এই সম্মেলনটি ব্যবহার করি আমার সমস্ত প্রকল্পের জন্য। তবে এর অর্থ হ'ল ট্রাঙ্কটি কখনও কখনও অস্থির হয়, এমনকি এমনকি ভাঙাও হয় ... ... "শাখা / দেবের মতো কিছু শাখায়" বন্য বিকাশ "করা আরও ভাল হবে না যখন বিল্ডটি যুক্তিসঙ্গতভাবে তৈরি করা হয় তখন কেবল ট্রাঙ্কে মিশে যায় merge কঠিন?
- ... ট্রাঙ্কটি যেখানে চলমান উন্নয়ন হওয়ার কথা রয়েছে। প্রত্যেকে যদি তাদের প্রতিশ্রুতিবদ্ধ হওয়ার আগে তাদের পরিবর্তনগুলি পরীক্ষা করে থাকে তবে আপনার "ভাঙা" কোড নিয়ে আসলেই সমস্যা হবে না। থাম্বের একটি ভাল নিয়ম হল আপনি নিজের পরিবর্তনগুলি কোড করার পরে একটি আপডেট করা (রেপোগুলি থেকে সমস্ত সর্বশেষ কোড পান) do তারপরে কিছু ইউনিট পরীক্ষা করুন এবং করুন। যদি সবকিছু তৈরি হয় এবং কাজ করে তবে আপনার এটি পরীক্ষা করা ভাল হবে ...
- ... নপ ট্রাঙ্ক সেরা জায়গা নয়। আমাদের সংস্থায় আমরা সর্বদা এই পদ্ধতির অনুসরণ করি: ট্রাঙ্কে প্রকাশের কোড রয়েছে, তাই এটি সর্বদা সংকলন করে। নতুন প্রতিটি প্রকাশ / মাইলফলক সহ আমরা একটি নতুন শাখা খুলি। যখনই কোনও বিকাশকারী কোনও আইটেমের মালিক হন, তিনি এই রিলিজ শাখায় একটি নতুন শাখা তৈরি করেন এবং পরীক্ষার পরে কেবল এটিকে একটি রিলিজ শাখায় মার্জ করে। সিস্টেম পরীক্ষা করার পরে রিলিজ শাখা ট্রাঙ্কে একীভূত করা হয়েছে ...
http://blog.yclian.com/2009/03/working-on-branches-and-stable-trunk.html
... আমি ট্রাঙ্কে কাজ করতাম কারণ যে সমস্ত প্রকল্পে আমি কাজ করেছি, তা হয় আমি তখন ছিলাম একমাত্র বিকাশকারী বা দল নিশ্চিত করেছে যে প্রত্যেকের কোড চেক-ইন স্থানীয় পরীক্ষায় উত্তীর্ণ হয়েছে। অন্যথায়, আমরা বাগ ফিক্সগুলির জন্য (আমরা এখনও) শাখা তৈরি করেছি, নতুন বৈশিষ্ট্যগুলির জন্য বৃহত কোড ইত্যাদি
2 প্রায় 2 মাস আগে, কামালের সাথে আমার একটি ছোট গিট সেশন ছিল এবং তিনি আমার সাথে গল্প / শাখার ধারণাটি ভাগ করেছিলেন । এবং আমার দলটি আরও দেব ছেলেদের সাথে বাড়তে শুরু করার সাথে সাথে আরও শাখা প্রশাখাকে উত্সাহিত করার প্রয়োজনীয়তা অনুভব করছি এবং এখন এটি একটি নিয়মে পরিণত হয়েছে। সিআই সেটআপের সাথে সংজ্ঞায়িত স্বয়ংক্রিয় পরীক্ষাগুলির সাথে একটি প্রকল্পের জন্য, একটি স্থিতিশীল ট্রাঙ্কের গ্যারান্টি দেওয়া হয় এবং এই অনুশীলনটি এটির মধ্যে খুব ভাল ফিট করতে পারে।
আমরা গিটটি ছাড়া সাবট্রিশন ব্যবহার করি না কারণ আমরা এভাবেই শুরু করেছি এবং আমরা এখনই বেশিরভাগ সময় আরামদায়ক (বেশিরভাগ সময়) ...
http://www.ericsink.com/scm/scm_branches.html
এটি সোর্স কন্ট্রোল হাওটো নামে একটি অনলাইন বইয়ের অংশ, উত্স নিয়ন্ত্রণ, সংস্করণ নিয়ন্ত্রণ এবং কনফিগারেশন পরিচালনার উপর একটি সর্বোত্তম অনুশীলন গাইড ...
... এরিকের পছন্দের শাখা অনুশীলন করুন ... একটি "মূলত অস্থির" ট্রাঙ্ক রাখুন। ট্রাঙ্কে আপনার সক্রিয় বিকাশটি করুন, মুক্তির কাছে যাওয়ার সাথে সাথে এর স্থায়িত্ব বৃদ্ধি পায়। আপনি শিপিংয়ের পরে, একটি রক্ষণাবেক্ষণ শাখা তৈরি করুন এবং সর্বদা এটি খুব স্থিতিশীল রাখুন ...
... পরবর্তী অধ্যায়ে আমি শাখাগুলি মার্জ করার বিষয়টিতে প্রকাশ করব ...
http://marc.info/?l=forrest-dev&m=112504297928196&w=2 অ্যাপাচি ফরেস্ট প্রকল্পের
শাখা কৌশলগুলি নিয়ে আলোচনা করা থ্রেডের মেল শুরু করা হচ্ছে
- দ্রষ্টব্য বর্তমানে প্রকল্পটি রিলিজ শাখাগুলি সহ অস্থির ট্রাঙ্ক মডেল ব্যবহার করছে বলে মনে হচ্ছে:
- "এসভিএন-এর ট্রাঙ্কে উন্নয়নের কাজ করা হয় ... এসভিএন এর" রিলিজ শাখা "রয়েছে, যেমন, forrest_07_ ব্র্যাঞ্চ।" ( প্রকল্পের গাইডলাইন )
- "রিলিজ প্রার্থী প্যাকেজগুলি তৈরি করা হচ্ছে ... 17. এসভিএন-এ একটি রক্ষণাবেক্ষণ শাখা তৈরি করুন ..." ( কীভাবে প্রকাশ করবেন )
ও'রিলি সিভিএস ব্রাঞ্চিং ডক্স: http://commons.oreilly.com/wiki/index.php/Essential_CVS/Using_CVS/ ট্যাগিং_এন্ড_ ব্রাঞ্চিং #
বেসিক_স্টেবল
- ... মূলত স্থিতিশীল ব্রাঞ্চিং দর্শন বলছে যে ট্রাঙ্কে এমন প্রকল্পের ডেটা থাকা উচিত যা সর্বদা মুক্তির জন্য প্রস্তুত হওয়ার কাছাকাছি থাকে ... ... এই দর্শনের আরও লেন্সিয়েন্ট তারতম্যগুলি বিকাশকারী ইউনিট-পরীক্ষার পাশ দিয়ে এমন কোনও কিছুকে মেশিন করার অনুমতি দেয় ট্রাঙ্ক। এই জাতীয় শিথিল পদ্ধতির জন্য একটি প্রকাশ প্রার্থীকে ব্রাঞ্চ করা এবং প্রকাশের আগে একটি সম্পূর্ণ QA বিশ্লেষণের মাধ্যমে রাখা দরকার ...
- ... মূলত অস্থির দর্শন বলে যে ট্রাঙ্কের স্থায়িত্ব নির্বিশেষে সর্বশেষতম কোডটি থাকা উচিত এবং প্রকাশের প্রার্থীদের কিউএর জন্য শাখা বন্ধ করা উচিত।
... আরও সুক্ষ্ম প্রকরণগুলি পরীক্ষামূলক কোড, রিফ্যাক্টরিং এবং অন্যান্য বিশেষ-ক্ষেত্রে কোডের জন্য শাখা প্রশাখার অনুমতি দেয়। ট্রাঙ্কে আবার একটি শাখা মার্জ করা শাখার পরিচালকরা করেন। ...
- নোটের উপরের নোটটি আমার করা অনুসন্ধানের কোনওটিতে উপস্থিত হয়নি (সিভিএস সম্পর্কিত নির্দেশিকা আর জনপ্রিয় নয়?)
এসসিএমের সেরা অনুশীলন (পারফরমেন্স নিবন্ধ) এ
http://www.perfor.com/perforce/papers/bestpractices.html
... এসসিএম মোতায়েনের ছয়টি সাধারণ ক্ষেত্র, এবং সেই ক্ষেত্রগুলির প্রত্যেকটির মধ্যে কিছু মোটা দানাদার সেরা অনুশীলন। নিম্নলিখিত অধ্যায়গুলি প্রতিটি আইটেম ব্যাখ্যা করে ...
ওয়ার্ক স্পেস, কোডলাইনস, শাখা, প্রচার পরিবর্তন, বিল্ডস, প্রক্রিয়া ...