দূরবর্তী টানার সময় আমরা সমস্ত ট্যাগ আনার জন্য কি গিট ডিফল্ট সেট করতে পারি?


153

আমার কাছে বর্তমানে নিম্নলিখিতগুলির মতো গিট রিমোট সেটআপ রয়েছে:

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*

আমি যখন git pullশাখা মাস্টারে ইস্যু করি তখন সমস্ত রিমোট হেডগুলি রিমোট / আপস্ট্রিম এ নিয়ে যায়, তারপরে রিমোটস / আপস্ট्रीम / মাস্টারকে মাস্টারের সাথে একীভূত করা হয়। যে কোনও ট্যাগগুলিতে পৌঁছানো যায় সেগুলি একই সময়ে আনা হয় যা খুব সুবিধাজনক।

আমি git pullঅতিরিক্তভাবে প্রত্যক্ষগুলি থেকে সরাসরি পৌঁছতে পারে এমনগুলি নয়, দূরবর্তী থেকে সমস্ত ট্যাগ আনতে চাই । আমি প্রথমে সেট করার চেষ্টা করেছি tagopt == --tags, কিন্তু এটির ফলে কেবল ট্যাগগুলি আনার কারণ হয়ে গেছে এবং এভাবে সমস্ত কিছু ভেঙে গেছে। (জুনিও এমনকি এটি একটি ভয়াবহ ভুল কনফিগারেশন বলে )।

git pullদূরবর্তী মাথা ছাড়াও, ডিফল্টরূপে সমস্ত দূরবর্তী ট্যাগ আনার কোনও উপায় আছে কি ?


1
আমার কাছে একটি অনুস্মারক: নিশ্চিত করুন যে আপনি ট্যাগটি প্রথমে ধাক্কা দিয়েছেন (স্বয়ংক্রিয়ভাবে কাজ করে না): git push origin <tag_name>
হাফেনক্র্যানিচ ২ '

tagoptসমাধান ব্যবহার করা আর কোনও ভুল কনফিগারেশন নয়; ১.৯ / ২.০ (কিউ ২০১৪) অনুসারে এটি সাধারণত যা কিছু পাওয়া যায় তা ছাড়াও সমস্ত ট্যাগ আনবে ।
মিজিফ্রিদা

উত্তর:


95

আপনার স্থানীয় কনফিগারেশনে ট্যাগগুলির জন্য একটি রেফস্পেক যুক্ত করে আপনার এটি সম্পাদন করতে সক্ষম হওয়া উচিত। মূর্তভাবে:

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    fetch = +refs/tags/*:refs/tags/*

5
আহা, আমি কখনই বুঝতে পারি নি যে আপনার একাধিক আনার লাইন থাকতে পারে, আমি শেষেরটি ঠিক ওভাররাইড করব বলে ধরেছিলাম। এটা খুব সুন্দর এবং স্পষ্ট।
jleahy

1
এটি ২.২১ গিটের
৩৫২৪০৪/২

306

একটি সাধারণ git fetch --tagsআমার জন্য কাজ করেছে।


13
@ ফিজিক্স সম্ভবত "ডিফল্টরূপে" অন্তর্ভুক্ত করতে শিরোনামটি পরিবর্তন করা উচিত। এই পোস্টটি আমার প্রশ্নের উত্তর।
ম্যাট কিনিজার

2
এটি আমার পক্ষে কার্যকর হয়নি। আমি ট্যাগ সহ দেখতে পারেন git ls-remote
dangeroushobo

এটি সঠিক প্রশ্নের উত্তর নাও দিতে পারে তবে এটি শিরোনামের প্রশ্নের উত্তর দেয় এবং ওয়েব অনুসন্ধানের মাধ্যমে আমি এটি এটি খুঁজে পেয়েছি।
হুবার্ট গ্রেজস্কোইয়াক

68

--forceবিকল্প স্থানীয় ট্যাগ রিফ্রেশ জন্য দরকারী। মূলত আপনার যদি ভাসমান ট্যাগ থাকে:

git fetch --tags --force

গিট টান বিকল্পেও বিকল্প রয়েছে এবং --forceবর্ণনাটি একই:

যখন গিট আনতে <rbranch>: <lbranch> রেস্পেকের সাথে ব্যবহার করা হয়, এটি স্থানীয় শাখা <lbranch> আপডেট করতে অস্বীকার করে, যদি না দূরবর্তী শাখা <l ব্র্যাঙ্ক> এটি আনা <lbranch> এর বংশধর না হয়। এই বিকল্পটি সেই চেকটিকে ওভাররাইড করে।

তবে ডক অনুসারে --no-tags:

ডিফল্টরূপে, দূরবর্তী সংগ্রহস্থল থেকে ডাউনলোড করা অবজেক্টগুলিতে চিহ্নিত ট্যাগগুলি স্থানীয়ভাবে সংগ্রহ করা হয় এবং সংরক্ষণ করা হয়।

যদি সেই ডিফল্ট বিবৃতিটি কোনও বিধিনিষেধ না হয়, তবে আপনি চেষ্টাও করতে পারেন

git pull --force

2
git pull --forceঅন্তর্ভুক্ত নয়git fetch --tags --force
জেনি

21

আমার জন্য নিম্নলিখিতগুলি কাজ করে বলে মনে হয়েছিল।

git pull --tags

কেবল ট্যাগগুলি আনার জন্য, আপনি সম্ভবত বোঝাতে চেয়েছিলেন: it গিট ফেচ
ট্যাগস

ইতিমধ্যে একটি উত্তর আছে git fetch --tags। আমি বিকল্প উত্তর দিতে চেয়েছিলাম। টান = আনয়ন + মার্জ করুন। তাই আনতেও ঘটে।
বসন্ত গণেশ কে


1

আমি এটি কার্নেল.আর.জে ম্যাজিট সহ ব্যবহার করি

[remote "upstream"]
    url = <redacted>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    tagOpt = --tags
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.