গিট: কোন শাখায় একটি ট্যাগ রয়েছে তা কীভাবে সন্ধান করবেন?


87

আমি বর্তমানে প্রচুর শাখা নিয়ে একটি প্রকল্প নিয়ে ব্যস্ত আছি এবং সর্বশেষ পরিবর্তনগুলির জন্য আমার একটি ট্যাগ রয়েছে যেখানে একটি শাখায় এটি হয়েছে। তবে এটি আমার পক্ষে পরিষ্কার নয় যে এই শাখায় এই ট্যাগটি রয়েছে।

কোন শাখায় একটি ট্যাগ রয়েছে তা কীভাবে সন্ধান করবেন?

উত্তর:


121

এমনকি আরও ছোট:

git branch --contains tags/<tag>

(এটি কোনও গাছ-ইশ রেফারেন্সের জন্য কাজ করে)


আপনি যদি খুঁজে পেতে পারেন যে কোনও প্রতিশ্রুতিবদ্ধ প্রতিশ্রুতিবদ্ধ যা বোঝায় :

 git rev-parse --verify tags/<tag>^{commit}
 # or, shorter:
 git rev-parse tags/<tag>~0

তারপরে আপনি কোন শাখায় সেই প্রতিশ্রুতি রয়েছে তা আবিষ্কার করতে পারেন ।

git branch --contains <commit>

হিসাবে মন্তব্য নীচে user3356885 সংগৃহীত শাখা জন্য, (রিমোটের নামস্থান শাখা)

git branch -a --contains tags/<tag>
git branch -a --contains <commit>

6
আমার গীত, ১. 1..১ সংস্করণে, আমি কেবল এটি করতে পারি git branch --contains <tag>
ড্যান ছাঁচনির্মাণ

@ ড্যানমোল্ডিং সত্য, আমি তার প্রতিফলন করার জন্য উত্তরটি সম্পাদনা করেছি। আমি প্রথমে একটি ট্যাগের সাথে যুক্ত প্রতিশ্রুতি সন্ধানে আগ্রহী ছিলাম।
ভনসি

6
দূরবর্তী শাখায় তৈরি হওয়া ট্যাগটি অনুসন্ধান করা এই ক্ষেত্রে কোনও ফল দেয় না। অন্য শব্দ, স্থানীয়ভাবে অস্তিত্ব নেই এমন শাখাগুলির জন্য কোনও ফলাফল তৈরি করা হবে না। অপশন -a এর জন্য ব্যবহার করা উচিত। git branch -a --contains <tag>। কমিটের জন্য একই কাজ করবে।
user3356885

4
দুর্ভাগ্যক্রমে এটি একাধিক জিনিস ফেরত দেয়: * (82২dd3f0 এ পৃথক পৃথক) মাস্টার রেফ / ট্যাগ / 0.0.1-পরীক্ষা-মাস্টারআর -> আমি শাখাটি অগ্রগতিতে অ্যাক্সেস করতে চাই, কোনও হেড তথ্য বা ট্যাগ নেই
হার্ম

4
git branch --contains <tag>। গিট সংস্করণ ২.২৩.০, জেডএস, ওপেন সুস টাম্বলওয়েড। আমি এটি আমার ওএস বা শেলের সাথে সুনির্দিষ্ট মনে করি না, আমি মনে করি এটি আধুনিক গিট সংস্করণগুলিই ডিফল্ট জিনিস। তারা
পেজারে

30

যদি "গিট ব্রাঞ্চ - কনটেনস" কিছু না করে তবে নিশ্চিত হয়ে নিন যে আপনি প্রত্যন্ত এবং স্থানীয় উভয় শাখা সমস্ত শাখা অন্তর্ভুক্ত করছেন:

git branch -a --contains <tag>

গিট সহায়তা থেকে:

নির্দিষ্ট গিট-ব্রাঞ্চ ক্রিয়া: - একটি, - সমস্ত দূরবর্তী ট্র্যাকিং এবং স্থানীয় শাখা তালিকাভুক্ত করে


5
git branch --contains tag

আমার জন্য কিছুই করে না, তবে আমি এই সমস্যাটির সমাধান আমার গিট গায় খুঁজে পেয়েছি ।

এটি এর মতো শুরু করুন:

git gui

(আমার উবুন্টুতে আমাকে প্রথমে এটি ইনস্টল করতে হয়েছিল sudo apt-get install git-gui))

তারপরে আমি মেনু আইটেমটি সংগ্রহস্থল নির্বাচন করে -> সমস্ত শাখার ইতিহাস ভিজ্যুয়ালাইজ করুন । ফলস্বরূপ উইন্ডোতে আমি তারপরে মেনু আইটেমটি ফাইল -> তালিকা উল্লেখগুলি নির্বাচন করে

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

Parent: somesha (message)
Parent: someothersha (another message)
Child:  anothersha (yet another message)
Branches: branch1, master, remotes/origin/branch2, remotes/upstream/branch1, etc
Follows: v1.1.2
Precedes: v1.1.4

4

কোনও ট্যাগ দ্বারা রেফারেন্সবদ্ধ প্রতিশ্রুতি সন্ধান সম্পর্কে @ ভনসির মন্তব্যের বিষয়ে, কেবলমাত্র ব্যবহার করুন:

git show <tag>

যেহেতু একটি ট্যাগ একটি নির্দিষ্ট কমিটের সাথে আবদ্ধ থাকে, তাই এটি সেই প্রতিশ্রুতি প্রদর্শন করতে ব্যবহার করা যেতে পারে - যা আপনাকে কমিটের সম্পূর্ণ বিবরণ দেবে।


0

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

গিট: প্রতি শাখা ট্যাগের মতো কিছু আছে কি?
http://git-scm.com/book/en/Git- বেসিকস- ট্যাগিং

এখানে একটি ভাল ব্যাখ্যা।


0

একটি ট্যাগ সর্বদা কমিট নম্বর উল্লেখ করে। ট্যাগ নম্বরটি ব্যবহার করে আপনি যে শাখাটি থেকে ট্যাগটি ব্যবহার করে ট্যাগটি স্থাপন করা হয়েছে তা পেতে পারেন:

git for-each-ref | grep ${commit_num} | grep origin | sed "s/.*\///"

0

আপনিও এটি চেষ্টা করতে পারেন, অনুরূপ ব্যবহারের ক্ষেত্রেও ছিল এবং এটি আমার জন্য কাজ করেছিল

git ls-remote --heads origin | grep $CI_COMMIT_SHORT_SHA  | sed "s/.*\///"

কিছুটা আলাদা তবে @tfreeman এর উত্তর থেকে অনুপ্রেরণা নেওয়া

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