আমার কেন হালকা ভার্সেট বনাম টীকাগুলি সম্পর্কে যত্ন নেওয়া উচিত?


346

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

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

আমি যখন প্রথম গিটে স্যুইচ করেছি, হালকা ওজনের ট্যাগগুলি কাটা রুটি থেকে ভাল জিনিস বলে মনে হয়েছিল; আমি কেবল একটি প্রতিশ্রুতিতে নির্দেশ করতে এবং বলতে পারি "এটি ছিল 1.0"। এর চেয়ে আরও বেশি কোনও ট্যাগের কী দরকার হতে পারে তা বুঝতে আমার সমস্যা হচ্ছে, তবে আমি অবশ্যই বিশ্বাস করতে পারি না যে বিশ্বের গিট বিশেষজ্ঞরা নির্বিচারে টীকাযুক্ত ট্যাগ পছন্দ করেন! তাহলে সব হাবব্ব কি?

(বোনাস পয়েন্টস: কেন আমাকে কখনও কোনও ট্যাগ সাইন করতে হবে?)

সম্পাদনা

আমি সফলভাবে নিশ্চিত হয়েছি যে টীকাগুলি ট্যাগগুলি হ'ল একটি ভাল জিনিস - কে জানে যে কখন ট্যাগ হয়েছিল এবং কখন গুরুত্বপূর্ণ! ফলো-আপ হিসাবে, ভাল ট্যাগ টীকা সম্পর্কে কোনও পরামর্শ? উভয় git tag -am "tagging 1.0" 1.0এবং পূর্ববর্তী ট্যাগ কৌশল হারাতে মনে হওয়ায় প্রতিশ্রুতিবদ্ধ লগ সংক্ষিপ্ত করার চেষ্টা করছে।


আপনি কি নিজের ফলোআপের জন্য একটি ভাল উত্তর খুঁজে পেয়েছেন? কিছুটা এইরকম? git log --pretty=oneline master..HEAD | git tag -a -F - $BRANCH.$BUILD_NUMBER
aloreলোর

পূর্ববর্তী ট্যাগটি যেহেতু প্রতিশ্রুতিবদ্ধ লগটি সংক্ষেপে আমার কাছে ট্যাগ বার্তাগুলির জন্য একটি দুর্দান্ত কৌশল বলে মনে হয়।
রোবি

এফওয়াইআই (১) তারিখ অনুসারে লাইটওয়েট ট্যাগ তালিকা করার জন্য, এখানে যান(২) তারিখ অনুসারে অ্যানোটোটেড ট্যাগের তালিকা দেওয়ার জন্য, এখানে যান
ট্রেভর বয়ড স্মিথ

উত্তর:


272

একটি এনোটোটেড ট্যাগের বড় প্লাস হ'ল এটি আপনি কে জানেন it কমিটস এর মতো, কখনও কখনও এটি কে করেছে তা জানতে পেরে খুব ভাল। আপনি যদি বিকাশকারী হন এবং আপনি দেখতে পান যে v1.7.4 ট্যাগ করা হয়েছে (প্রস্তুত ঘোষিত) এবং আপনি এতটা নিশ্চিত নন, আপনি কার সাথে কথা বলছেন? যার নাম টিকাশযুক্ত ট্যাগে রয়েছে! (আপনি যদি অবিশ্বাস্য বিশ্বে বাস করেন তবে এটি লোকেদের যে জিনিসগুলি করা উচিত নয় তা ট্যাগ করার হাত থেকে দূরে সরিয়ে দেয়)) আপনি যদি গ্রাহক হন তবে সেই নামটিই কর্তৃত্বের একটি স্ট্যাম্প: জুনিয়ো হামানো এই বলে যে গিটটির এই সংস্করণটি এখানে রয়েছে মুক্তি।

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

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

সম্পাদনা:

ট্যাগ টীকাতে কী লিখতে হবে, আপনি ঠিক বলেছেন - সবসময় বলা খুব বেশি কার্যকর হয় না। একটি সংস্করণ নম্বর ট্যাগের জন্য, এটি স্পষ্টভাবে বোঝা গেছে যে এটি সেই সংস্করণটিকে চিহ্নিত করে এবং যদি আপনি অন্য কোথাও আপনার চেঞ্জলগগুলি নিয়ে খুশি হন তবে সেখানে একটি রাখার দরকার নেই। এই ক্ষেত্রে, এটি সত্যই ট্যাগগার এবং তারিখ যা সবচেয়ে গুরুত্বপূর্ণ। কেবলমাত্র অন্য যে জিনিসটি আমি ভাবতে পারি তা হ'ল কোনও পরীক্ষা স্যুট থেকে অনুমোদনের স্ট্যাম্প of Git.git এর ট্যাগগুলি দেখুন: তারা সকলেই "গিট 1.7.3 আরসি 1" এর মতো কিছু বলে; আমরা সত্যই যত্নশীল তাদের মধ্যে জুনিও হামানো নাম।

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


4
কেবল এসভিএন এর সাথে তুলনা করার জন্য, যেহেতু অপারেটিং সিস্টেমটি থেকে আসছে: টীকাগুলি ট্যাগ মেটাডেটা আসল এসভিএন সমতুল্য একটি ট্যাগ শাখা পরিবর্তন করে, যার এসভিএন এর নিজস্ব লেখক এবং বার্তা রয়েছে। এবং, সম্ভাব্যভাবে, কে ট্যাগ তৈরি করতে পারে তার উপর পৃথক বিধিনিষেধ, পরিবর্তনগুলি কে চেক করতে পারে তার থেকে পৃথক distin একটি পার্থক্য যা অপ্রয়োজনীয় যদি আপনি কেবল নিজের জিনিসগুলির জন্য সিস্টেমটি ব্যবহার করেন।
আরাকনিদ

10
আহ হা! দেখে মনে হচ্ছে এখানে আমার বোঝাপড়া এই বিষয়টিতে বাধাগ্রস্ত হয়েছিল যে আমার গিট প্রকল্পগুলি এখনও পর্যন্ত একক ছিল been কারও জন্য দোষারোপ করার জন্য আমার কখনই জানতে হবে না (এটি সর্বদা আমার!), তাই আমি খেয়ালও করিনি যে হালকা ওজনের ট্যাগগুলি ট্যাগটিকে ট্র্যাক করে না।
বেন ফাঁকা

5
git help logএখন এটির যোগস্বরূপ: "টীকাগুলি ট্যাগগুলি মুক্তির জন্য বোঝানো হয় যখন লাইটওয়েট ট্যাগগুলি ব্যক্তিগত বা অস্থায়ী অবজেক্ট লেবেলের জন্য হয়।"
জন জেনজেট

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

1
@ ক্রিস হ্যাঁ, যেমন উত্তরটি বলেছে, "একটি লিখিত ট্যাগের বড় প্লাস হ'ল আপনি জানেন যে এটি কে তৈরি করেছে।" আপনি সর্বদা git tag -a -m 'my message' my-tag; git show my-tag
এটির

64

এই বিষয়ে আমার ব্যক্তিগত, কিছুটা ভিন্ন দৃষ্টিভঙ্গি:

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

4
ম্যান গিট-ট্যাগে এটিও উল্লেখ করা হয়েছে: "টীকাগুলি ট্যাগগুলি মুক্তির জন্য বোঝানো হয় যখন লাইটওয়েট ট্যাগগুলি ব্যক্তিগত বা অস্থায়ী বস্তুর লেবেলের জন্য বোঝানো হয়।": Stackoverflow.com/a/35059291/895245
সিরো Santilli郝海东冠状病六四事件法轮功

28

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

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


1
git push --follow-tagsঅন্য কমান্ড যে একইরূপে উভয় ভিন্নভাবে: stackoverflow.com/a/26438076/895245
সিরো Santilli郝海东冠状病六四事件法轮功

1
সম্পর্কে ইঙ্গিত জন্য ধন্যবাদ git describe। আমি এটি অবিচ্ছিন্ন ইন্টিগ্রেশন সিস্টেমে ব্যবহার করি এবং কয়েক বার সংস্করণটির স্ট্রিং আমি প্রত্যাশা করিনি।
jjmontes

9

কোনও ট্যাগ সাইন ইন করা একটি মুক্তির সত্যতা প্রমাণের একটি সহজ উপায়।

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

যদি এটি স্বাক্ষর না করানো হয় তবে আমি টীকাগুলি ট্যাগগুলিতে খুব বেশি পয়েন্ট দেখতে পাই না।


1
প্রকৃতপক্ষে, এর জন্য এটি এমন একটি স্বাক্ষর থাকা কার্যকর হতে পারে যা কেবল পরিবর্তিত গাছটিকেই স্বাক্ষর করে, এর পুরো ইতিহাস নয় (ইতিহাসের সাথে কেউ কেউ বাধাগ্রস্ত হয় কিনা তা আমি খেয়াল করি না, কেবলমাত্র আমার সঠিক কোড আছে কিনা তা নিশ্চিত হতে চাই)।
পাওলো ইবারম্যান

9

টীকাগুলি ট্যাগ ঠেকান, হালকা লোকাল রাখুন

কিছু গিট আচরণ তাদের মধ্যে এই সুপারিশটি কার্যকর যেভাবে পার্থক্য করে eg

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

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

  • গিট পুশ - ফলো-ট্যাগস কেবল
  • git describe কমান্ড লাইন বিকল্প ব্যতীত কেবল টীকায়িত ট্যাগগুলিই দেখুন

man git-tag বলেছেন:

টীকাগুলি ট্যাগগুলি মুক্তির জন্য বোঝানো হয় যখন হালকা ট্যাগ ব্যক্তিগত বা অস্থায়ী বস্তুর লেবেলের জন্য হয়।

অভ্যন্তরীণ পার্থক্য

  • লাইটওয়েট এবং টীকাগুলি ট্যাগ উভয়ই এমন একটি ফাইল .git/refs/tagsযা একটি SHA-1 ধারণ করে

  • লাইটওয়েট ট্যাগগুলির জন্য, SHA-1 সরাসরি প্রতিশ্রুতিতে নির্দেশ করে:

    git tag light
    cat .git/refs/tags/light
    

    হেডের SHA-1 এর মতোই মুদ্রণ করে।

    সুতরাং আশ্চর্যের কিছু নেই যে তারা অন্য কোনও মেটাডেটা ধারণ করতে পারে না।

  • টীকাগুলি ট্যাগ অবজেক্ট ডাটাবেসের কোনও ট্যাগ অবজেক্টে নির্দেশ করে।

    git tag -as -m msg annot
    cat .git/refs/tags/annot
    

    টীকাযুক্ত ট্যাগ অবজেক্টের এসএএচএ রয়েছে:

    c1d7720e99f9dd1d1c8aee625fd6ce09b3a81fef
    

    এবং তারপরে আমরা এর সামগ্রীটি এর সাথে পেতে পারি:

    git cat-file -p c1d7720e99f9dd1d1c8aee625fd6ce09b3a81fef
    

    নমুনা আউটপুট:

    object 4284c41353e51a07e4ed4192ad2e9eaada9c059f
    type commit
    tag annot
    tagger Ciro Santilli <your@mail.com> 1411478848 +0200
    
    msg
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.11 (GNU/Linux)
    
    <YOUR PGP SIGNATURE>
    -----END PGP SIGNAT
    

    এবং এটিতে এটিতে অতিরিক্ত মেটাডেটা রয়েছে। আমরা আউটপুট থেকে দেখতে পাচ্ছি, মেটাডেটা ক্ষেত্রগুলি হ'ল:

    বিন্যাসটির আরও বিশদ বিশ্লেষণটি এখানে উপস্থিত রয়েছে: গিট ট্যাগ অবজেক্টের বিন্যাস কী এবং কীভাবে তার এসএএচএ গণনা করা যায়?

বোনাসেস


6

আমি লাইটওয়েট ট্যাগগুলির জন্য একটি ভাল ব্যবহার খুঁজে পেয়েছি - গিটহাবের প্রতিবিম্বিতভাবে একটি রিলিজ তৈরি করে।

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

যদি আমরা কেবলমাত্র একটি পুরানো প্রতিশ্রুতিতে একটি টীকা ট্যাগ তৈরি করি, গিটহব ট্যাগ অবজেক্ট থেকে প্রকাশের জন্য তারিখটি গ্রহণ করবে। বিপরীতে, যখন আমরা এই পুরানো প্রতিশ্রুতিটির জন্য একটি হালকা ওজনের ট্যাগ তৈরি করি, তখন প্রকাশটি সঠিক (পুরানো) তারিখটি দেখানো শুরু করে। উত্স @ গিটহাব সহায়তা, 'রিলিজ সম্পর্কে'

এনোটোটেড কমিটের জন্য আপনার পছন্দসই তারিখটি নির্দিষ্ট করাও সম্ভব বলে মনে হয় তবে এটি আমার কাছে এত সহজ দেখাচ্ছে না: https://www.kernel.org/pub/software/scm/git/docs/git-tag। এইচটিএমএল # _on_backdating_tags


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

হ্যাঁ, আমি গিটহাব এবং টীকাগুলি ট্যাগ সম্পর্কে এই জগাখিচুড়িও করেছি। তারা কেন এটি এভাবে প্রয়োগ করল তা আমি পাইনি ..
ইয়াকভএল

1

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


0

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

গিট ট্যাগ -a v1.0.0

লাইটওয়েট ট্যাগগুলি হ'ল আপনার গিট সংগ্রহস্থলটিতে একটি ট্যাগ যুক্ত করার সহজতম উপায় কারণ তারা যে প্রতিশ্রুতিটি নির্দেশ করে তার কেবল হ্যাশ সংরক্ষণ করে। তারা কোনও প্রতিশ্রুতিতে "বুকমার্ক" এর মতো কাজ করতে পারে, যেমন, তারা ব্যক্তিগত ব্যবহারের জন্য দুর্দান্ত।

গিট ট্যাগ v1.0.0

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


0

আমার জন্য গুরুত্বপূর্ণ পার্থক্য হল লাইটওয়েট ট্যাগের টাইমস্ট্যাম্প নেই। ধরা যাক আপনি কয়েকটি হালকা ওজনের ট্যাগ যুক্ত করেছেন:

git tag v1
git tag v2
git tag v3

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

অন্যদিকে, যদি আপনি টীকাযুক্ত ট্যাগগুলি যুক্ত করেন:

git tag v1 -m v1
git tag v2 -m v1
git tag v3 -m v1

আপনি সর্বদা প্রতিটি ট্যাগের টাইমস্ট্যাম্প পেতে পারেন এবং "গিট বিবরণ" নিশ্চিতভাবে "ভি 3" প্রদান করবে যা সর্বশেষে যুক্ত হওয়া ট্যাগ।


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