কমিটিকে কখন সংস্করণ ট্যাগ করা উচিত নয়?


30

প্রসঙ্গ: আমি সম্প্রতি সিমেন্টিক সংস্করণ সম্পর্কে জানতে পেরেছি এবং কীভাবে এটি নিজের প্রকল্পগুলির জন্য ব্যবহারিকভাবে ব্যবহার করতে পারি তা নির্ধারণ করার চেষ্টা করছি।

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


23
হয় যে একটি স্থিতিশীল, পরীক্ষিত, গুণমান নিশ্চিত আপনার প্রকল্পের মধ্যে মুক্তি মাস্টার কমিট?
অ্যালেক্স রিঙ্কিং

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

এছাড়াও নোট করুন যে ট্যাগগুলি পরে পরিবর্তন করা যেতে পারে। একমাত্র রক সলিড কমিট সনাক্তকারী হ'ল কমিট হ্যাশ কী।
থোরবজর্ন রাভন অ্যান্ডারসন

9
মাস্টার প্রতি প্রতিশ্রুতি ??? আপনি মাস্টার প্রতিশ্রুতিবদ্ধ করা উচিত নয়। মাস্টারগুলিতে প্রতিটি মার্জ অনেক ভাল শোনাচ্ছে।
xyious

2
আমি মনে করি @ মায়াবী মাথায় পেরেকটি আঘাত করে। মাস্টারে শেষ হওয়া প্রতিটি প্রতিশ্রুতি কোনও সংস্করণের সাথে ট্যাগ করা উচিত কারণ মাস্টার সম্পর্কিত প্রতিটি প্রতিশ্রুতি বিকাশ থেকে মুক্তি একীভূত হওয়া উচিত
বিজে মায়ার্স

উত্তর:


71

সেমিভের সংস্করণ প্রকাশের বিষয়ে চিন্তা করে , কমিট করে না । যদি আপনার সংস্করণ নিয়ন্ত্রণের মডেলটির প্রতিটি মাস্টার প্রতিশ্রুতি প্রকাশের প্রয়োজন হয় তবে হ্যাঁ, প্রতিটি প্রতিশ্রুতি পরিবর্তনের ডিগ্রি অনুসারে ট্যাগ করা দরকার।

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


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

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

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

11
@ কিওয়ার্টি - আপগ্রেডিং ব্যাক করুন। এখনও কত লোক উইন্ডোজ এবং অফিসের পুরানো বড় সংস্করণগুলি চালাচ্ছেন?
অ্যালেক্স রিঙ্কিং

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

11

সংস্করণ নম্বর প্রকাশের জন্য বরাদ্দ করা হয়। সাধারণভাবে প্রতিটি প্রতিশ্রুতি মুক্ত হওয়া উচিত নয়। এর বেশ কয়েকটি কারণ রয়েছে।

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

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

এর পরিণতি হ'ল আপনি কেবলমাত্র তার "পাবলিক এপিআই" সম্পূর্ণ (আলফা / বিটা নয়) প্রকাশে বৈশিষ্ট্য যুক্ত করতে পারেন যদি আপনি তাদের উপস্থিতি দীর্ঘমেয়াদে এই বৈশিষ্ট্যগুলিকে সমর্থন করার জন্য প্রস্তুত থাকেন।

তৃতীয়ত, ব্যাপকভাবে ব্যবহারের সংস্করণ সংখ্যা কম রাখা এটি সহায়ক। এমনকি স্থিতিশীল শাখায়ও বেশিরভাগ সংশোধন একত্রিত করা এবং প্রতিটি ফিক্সের জন্য একটি রিলিজ করার চেয়ে একক রিলিজ করা ভাল better


2

বলা বাহুল্য মনে হয়, তবে: সংস্করণ সংখ্যাগুলির উদ্দেশ্য হ'ল আপনি সহজেই নির্ধারণ করতে দেন যে কেউ যে সফ্টওয়্যারটির সংস্করণ চলছে।

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

তবে আরও খেলতে আসে:

এটির নিশ্চিত হওয়ার একটি উপায় হ'ল প্রতিটি প্রতিশ্রুতি সহ সংস্করণ সংখ্যাগুলি বাম্প করা তবে এটি সাধারণত ভাল ধারণা নয়। অপেক্ষাকৃত ছোট পরিবর্তন কাজ করতে বেশ কয়েকটি কমিট / পুনরাবৃত্তি লাগতে পারে এবং বিপুল সংখ্যক জমে থাকা পরিবর্তনের ফলে 0.0.0 -> 0.0.2 সংস্করণটি বাইরের বিশ্বের কাছে বিভ্রান্ত হয় তবে 0.0.2 -> 0.0 .56 কারণ যে কেউ প্রতিশ্রুতিবদ্ধ সাদা স্থান একবারে একটি ফাইল ঠিক করে দেয় এবং কার্যকরী কিছু পরিবর্তন করে না।

"সম্পূর্ণ প্রকাশের জন্য একটি সংস্করণ" থেকে "প্রতিটি প্রতিশ্রুতির জন্য একটি সংস্করণ" পর্যন্ত রাস্তাটি কতটা নিচে রয়েছে তা আপনি: অন্য ব্যবহারকারীরা এবং শূন্যস্থানগুলি পূরণ করতে আপনি কোন সিস্টেম ব্যবহার করতে ইচ্ছুক?

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


0

মাস্টারের সাথে একীভূত হয়ে যাওয়ার প্রতিটি টিক অনুরোধটির সংস্করণ করা উচিত।

যদি এটি কোনও নতুন সংস্করণ না হয় (কমপক্ষে একটি প্যাচ), তবে সম্ভবত এটি মাস্টারের সাথে একত্রীকরণ করা উচিত নয় কারণ বৈশিষ্ট্য / ফিক্স / ইত্যাদি সম্পূর্ণ নয়।

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

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