গিট ট্যাগগুলির জন্য কি কোনও নামকরণের নামকরণ আছে? [বন্ধ]


229

v1.2.3গিটের ট্যাগগুলির নামকরণ কনভেনশন হিসাবে অনেকগুলি প্রকল্প আমি দেখেছি । আমি কিছু ব্যবহার দেখেছি 1.2.3। একটি আনুষ্ঠানিকভাবে অনুমোদিত শৈলী আছে, না হয় ব্যবহার করার জন্য কোন ভাল যুক্তি আছে?


19
৪৩ টি upvotes এবং গণনা সহ, আমি ভাবছি যে এই খুব মূল্যবান প্রশ্নটি আবারও বানানো এবং আবার খোলা যেতে পারে, কিছু উত্তর একটি চমৎকার সংক্ষিপ্তসারে সমস্ত পয়েন্ট একত্রিত করে শীর্ষে থাকবে? @ পিটারইজেনট্রাটসটিকে সবচেয়ে সম্পূর্ণ বলে মনে হচ্ছে; যদিও গৃহীত উত্তর এটিএম কিছুটা বিভ্রান্তিকর বলে মনে হচ্ছে। (আমি মনে করি আমি নিজেই ট্যাগগুলির জন্য v1.2.3 ব্যবহার করব, সমস্ত পয়েন্ট পড়ার পরে))
হোস্টাইলফোর্ক বলেছেন যে এসই


একটি উঁকি নিতে semver.org (শব্দার্থিক সংস্করণ), আপনি কিছু ধারনা দিতে হবে।
ভনব্র্যান্ড

আমার অভিজ্ঞতা আমাকে কিছুটা আলাদা স্কিম ব্যবহার করতে বলে। ১. উপ-ডিরেক্টরি: একটি গিট ট্যাগ কমপক্ষে v/একটি নেমস্পেসে এই গ্রুপ ট্যাগ হিসাবে শুরু করা উচিত । ২. আদর্শভাবে, কোনও ট্যাগে এমন একটি সংক্ষিপ্ত বিবরণও থাকা উচিত যা অ্যাপটিকে অনন্যভাবে সনাক্ত করে। যেমন v/myapp/1.0। এটি গিট সংগ্রহস্থলগুলিকে একত্রীকরণকে আরও সহজ করে তোলে: যদি অ্যাপ্লিকেশনগুলি একত্রিত করা হয়, তবে ট্যাগের নেমস্পেসে ট্যাগগুলির সংঘর্ষ হবে না।
axd

উত্তর:


166

সংস্করণ 1.0.0 শব্দার্থিক ভারশনিং , GitHub খ্যাতির টম প্রেস্টন-ভের্নার দ্বারা, ছিল একটি উপ-স্পেসিফিকেশন এই অ্যাড্রেসিং:

ট্যাগিং নির্দিষ্টকরণ (SemVerTag)

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

  1. কোনও সংস্করণ নিয়ন্ত্রণ সিস্টেমে রিলিজগুলি ট্যাগ করার সময়, কোনও সংস্করণের জন্য ট্যাগটি "ভিএক্স.ওয়াইজেড" হওয়া উচিত, যেমন "ভি ৩.১.০"

যাইহোক, আলোচনার পরে এটি সরানো হয়েছে, এবং সেমভিয়ার স্পেকের সর্বশেষ সংস্করণে (লেখার সময় ২.০.০ ) উপস্থিত নেই। একই স্থানে পরবর্তী আলোচনার থ্রেডটি আরও গভীরতায় গিয়েছে এবং এর ফলে একটি নতুন "v1.2.3" শব্দার্থক সংস্করণে এসেছে? সেমওয়ারের শাখায় FAQ এ যুক্ত হওয়া masterসত্ত্বেও, লেখার সময় (2 বছর পরে) এখনও এই পরিবর্তন আনুষ্ঠানিকভাবে প্রকাশিত অনুমানের মধ্যে উপস্থিত নেই


9
ধন্যবাদ - এটা খুব কাছাকাছি। আমি আশা করি তিনি কেন সেখানে vথাকতে হবে তা যোগ্য হয়ে উঠেছে ।
Troelskn

3
@ ট্রয়েলেস্কন @ মোজমম্বো == টম প্রেস্টন-ওয়ার্নার
পেরিটাস

4
আপডেট হওয়া লিংক: github.com/mojombo/semver.org/issues/1
জোশ লি

41
সিমেন্টিক ভার্সন 1.0.0 ফর্ম্যাট "v1.2.3" ব্যবহার করে। শব্দার্থক সংস্করণ 2.0.0-rc.1 সম্ভবত "1.2.3" ফর্ম্যাট ব্যবহার করে। ট্যাগিং স্পেসিফিকেশন (SemVerTag) নিবন্ধটি চশমা থেকে সরানো হয়েছে। আরও এখানে: semver.org
পেট্রনোহেজল

9
পুরানো সেমোভার বিদ্যমান থাকলে এই উত্তরটি করা হয় (সংস্করণ 1.0)। আজকাল সেমভার ভি 2.0 থেকে উপসর্গ 'ভি' মুছে ফেলা হয়েছে। বিস্তারিত জানার জন্য নীচে পোস্ট দেখুন।
viiii

111

দুটি প্রভাবশালী কনভেনশন রয়েছে বলে মনে হয় (নিজেকে ধরে রাখার সংখ্যাটি নির্ধারণের জন্য কিছু যুক্তিসঙ্গত মান মেনে নিলেও):

  • v1.2.3
  • 1.2.3

এর সুবিধাগুলি v1.2.3হ'ল গিট ডকুমেন্টেশন (এবং মर्कুরিয়াল ডকুমেন্টেশন) তার উদাহরণগুলিতে এই ফর্ম্যাটটি ব্যবহার করে এবং লিনাক্স কার্নেল এবং গিটের মতো কয়েকটি "কর্তৃপক্ষ" নিজেই এটি ব্যবহার করে। (উল্লিখিত সিমেন্টিক ভার্সনটি এটি ব্যবহার করত তবে আর হয় না))

এর সুবিধাগুলি 1.2.3হ'ল গিটওব বা গিটহাব স্বয়ংক্রিয়ভাবে ফর্মটির একটি টারবাল বা জিপ ডাউনলোড অফার করতে পারে packagename-$tag.tar.gz(এবং আমি মনে করি এটি বেশ প্রতিষ্ঠিত যে কোনও টারবাল নামকরণ করা উচিত নয়package-v1.2.3.tar.gz )। বিকল্পভাবে, আপনি git describeটার্বল সংস্করণ নম্বর উত্পন্ন করতে সরাসরি ব্যবহার করতে পারেন । আনুষ্ঠানিক প্রকাশ প্রক্রিয়া ছাড়াই লাইটওয়েট প্রকল্পগুলির জন্য, এই সম্ভাবনাগুলি যথেষ্ট সুবিধাজনক হতে পারে। এটিও লক্ষ করা উচিত যে সিমেন্টিক ভার্সন কোনওভাবেই সংস্করণ সংখ্যার জন্য একমাত্র বা সর্বজনস্বীকৃত মান নয়। এবং উল্লেখযোগ্য প্রকল্প যেমন জিনোমের পাশাপাশি অন্যান্য অসংখ্য প্রকল্প 1.2.3ট্যাগ নাম ব্যবহার করে ।

আমি মনে করি এই অবস্থানগুলি একীভূত করতে সম্ভবত খুব দেরি হয়েছে। সর্বদা হিসাবে, সামঞ্জস্যপূর্ণ হন এবং বুদ্ধিমান হন।


আপডেট: এই মন্তব্যে উল্লিখিত হিসাবে , গিটহাব এখন ট্যাগটি বন্ধ করে 'ভি' দিয়ে একটি টারবাল নাম সরবরাহ করে।


13
গিটহাব এবং টার্বল জেনারেশন সম্পর্কিত: এটি আর প্রাসঙ্গিক নয়। তারা ট্যাগটি বন্ধ করে 'ভি' উপস্থাপন করে।
হারমান বিয়ার

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

1
SemVer আর ব্যবহার করে না তা প্রতিফলিত করতে উত্তর আপডেট করেছে v
অ্যাডাম স্পায়ার্স

80

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


5
+1: ভাল প্রথম উত্তর এবং আমার প্রিয় একটি বইয়ের একটি নাম :-) সম্ভবত আপনার পরবর্তী উত্তরটি আরও বর্তমান প্রশ্নের উপর থাকবে।
জনসিওয়েব

1
... তবে এটি যদি কেবল পুরানো এসভিসিএসের ক্ষেত্রেই সত্য হয় তবে আধুনিক গিট সম্পর্কে কোনও প্রশ্নের জন্য এই উত্তরটির বিন্দুটি কী হবে?
MestreLion

3
এটি এখনও গিটে দরকারী, যাতে আপনি অন্যান্য ধরণের ট্যাগ থেকে সহজেই সংস্করণ ট্যাগগুলি আলাদা করতে পারেন (ট্যাগগুলি অন্যান্য অনেক কিছুর জন্য দরকারী)
বেনজা

19

আমি যে জানি না।
তবে গিট একই সাথে একই নামের একটি ট্যাগ এবং একটি শাখাকে অনুমতি দেবে না, সুতরাং যদি আপনার কাজের 1.1জন্য একটি শাখা থাকে তবে 1.1ট্যাগ " 1.1" লাগান না , উদাহরণস্বরূপ ব্যবহার করুন " v1.1"


8
শাখাগুলির জন্য ব্যবহার করুন 1.1.x. এটাই.
প্রাণবন্ত

1
ধন্যবাদ, ধন্যবাদ
এ RY

10

নতুন প্যাকেজ পরিচালকদের উপসর্গ ছাড়াই সংস্করণগুলিতে ট্যাগ করার পরামর্শ দেয় v( পিএইচপি প্রকল্পগুলির জন্য সুরকারের মতো )। SemVer 2.0 এর ট্যাগ স্পেসিফিকেশন সম্পর্কে কিছুই নেই। দ্বন্দ্ব এড়ানোর কারণে এটি ইচ্ছাকৃতভাবে করা হয়েছে। তবে এটি ডকুমেন্টেশন এবং পাঠ্য রেফারেন্সগুলিতে উপসর্গ যুক্ত করার পরামর্শ দেওয়া হয় v। উদাহরণস্বরূপ v1.0.4পূর্ণরূপের পরিবর্তে ফর্ম্যাট version 1.0.4বা ver. 1.0.4ডকুমেন্টেশনে যথেষ্ট ভার্বোজ এবং মার্জিত।


22
"এটি পরামর্শ দেওয়া হয়েছে ..." কে পরামর্শ দিয়েছিল, এবং আমরা সেই পরামর্শটিকে এর মূল প্রসঙ্গে কোথায় দেখতে পারি?
6

8

আমরা যথাযথ প্রকাশের পরে রিলিজ-নির্দিষ্ট কাজের জন্য শাখা এবং ট্যাগগুলি ব্যবহার করি:

o---o-----o---o---o--- ...   master
     \   /       /
      \ /       /
       o-------o--- ...      1.6 branch

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

যখন আমরা প্রকাশের জন্য প্রস্তুত থাকি, আমরা এটিকে ট্যাগ করি এবং তারপরে শেষবারের মতো একবারে মার্জ করি এবং আমরা ট্যাগটির নামটি শাখা হিসাবে একই নামে রাখি, তবে এটির নির্দিষ্ট সংস্করণটি সম্পর্কে অতিরিক্ত শনাক্তকারীর সাথে উদাহরণস্বরূপ, "1.6-প্রকাশ" বা "1.6-বিটা" বা "1.6-আরসি 2", এবং সেটার।

... ------o---o---o--o---o--- ...   master
         /       /
        /       /
... ---o------(*)--- ...      1.6 branch
          1.6-release

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

আহ, গোছা! আপনার প্রশ্নের ভুল বোঝার জন্য দুঃখিত। না, মানব যোগাযোগ ব্যতীত কোনও নির্দিষ্ট নাম ব্যবহারের জন্য কোনও নির্দিষ্ট প্রযুক্তিগত কারণ নেই। আপনি নিজের শাখাগুলি এবং ট্যাগগুলিকে নিজের পছন্দমতো নাম দিন।
জন Feminella

আপনার প্রকাশ - 1.6 শাখার নাম "1.6 শাখা" রাখা হয়েছে? আমি ভেবেছিলাম শাখার নামগুলিতে ফাঁকা স্থানগুলি সমর্থনযোগ্য নয়।
সিস টিমারম্যান

8

আমি কোন মান সম্পর্কে জানি না। আমি কেবল আমার ট্যাগের নামগুলি পছন্দ করি যাতে আমি আটকে পারি

VERSION = `git describe --tags`

আমার বিল্ড স্ক্রিপ্টে। সুতরাং, ট্যাগ নামকরণ কনভেনশনটি প্রকল্পের সংস্করণ নামকরণ কনভেনশনটির উপর নির্ভর করে।


1
গিট বর্ণনা করুন
ড্যামিয়েন ক্যারল

1

সেখানে নেই এক সেরা অনুশীলনের আমি সচেতন আছি। এখানে কয়েকটি লিঙ্ক রয়েছে:

সাধারণত, সংস্করণ (( 0.0.1,, v0.2.1...)) কিছু ইস্যু-ট্র্যাকিং হাতে হাতে থাকতে পারে একটি প্রশংসনীয় পদ্ধতির হিসাবে বিবেচিত হতে পারে। (.. যদিও আমি সাধারণত- vপূর্বনির্ধারিত ট্যাগের নাম ব্যবহার করি .. এছাড়াও ভনসি উত্তর দেখুন)

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