কীভাবে কোনও নির্দিষ্ট ট্যাগকে ক্লোন করুন


189

থেকে Git-ক্লোন (1) man পৃষ্ঠা

--branch ফলস্বরূপ সংগ্রহস্থলের যে প্রতিশ্রুতিতে শিরোনামে ট্যাগ নিতে এবং হেডকে আলাদা করতে পারে।

আমি চেষ্টা করেছিলাম

git clone --branch <tag_name> <repo_url>

কিন্তু এটা কাজ করে না। এটি ফিরে আসে:

warning: Remote branch 2.13.0 not found in upstream origin, using HEAD instead

এই পরামিতিটি কীভাবে ব্যবহার করবেন?



2
আপনি ঠিক বলেছেন, কিন্তু সামান্য পার্থক্য। আমি যখন এই প্রশ্নটি জিজ্ঞাসা করি, আমার পরিস্থিতিতে আমার এক লাইনে এটি করা দরকার ছিল এবং অবশ্যই ব্যবহার করা উচিত cloneএবং আমি 'কেন - ব্র্যাঞ্চ কাজ করে না' এ আটকে ছিল। এই ইউআরএলটির সেরা উত্তরটি ব্যবহার করা হয়েছে clone-> checkoutযা আমার প্রশ্নের সমাধান করতে পারে না। :)
— জিয়াং জুন

উত্তর:


317
git clone --branch <tag_name> <repo_url>

এই কমান্ডটি গিট 1.7.9.5 এ সমর্থিত নয়।

আমি গিট 1.8.3.5 ব্যবহার করি এবং এটি কার্যকর হয়


89
এফওয়াইআই: --depth 1কোনও অ-বর্তমান কমিটি ডাউনলোড এড়াতে নির্দিষ্ট করুন ।
— একিউম্যানাস

1
1.8.4.1 গিটে দুর্দান্ত কাজ করে
— টাকো

এটি কাজ করে না। ক্লোন করার পরেও যদি git tagএটি কোনও ট্যাগ না দেখায়
— ব্যবহারকারী কোনও টুপি নেই

উল্লেখ্য, যদি রেফটি অস্পষ্ট হয় এবং আপনার যদি একই জিনিসটির একটি শাখা এবং একটি ট্যাগ থাকে তবে এটি শাখাটিকে পছন্দ করবে।
— কীথ স্মাইলি

1
নন-কারেন্ট কমিট কাকে বলে?
— d512

74

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

git clone <repo_url> --branch <tag_name> --single-branch

3
কি --single-branchসমতূল্য --depth 1?
— igracia

14
না, এটি সমতুল্য নয়। - ইউনিয়ন-শাখা একটি সম্পূর্ণ শাখার জন্য ইতিহাসকে ক্লোন করে। --Depth 1 সহ কোনও ইতিহাসই ক্লোন করা হয়নি।
— মার্টিন ক্রুং

2
এছাড়াও ব্যবহৃত হয় --single-branchযখন নিহিত --depthহয়। ম্যানুয়াল থেকেWhen creating a shallow clone with the --depth option, this is the default
— কোদা

33
git clone -b 13.1rc1-Gotham  --depth 1  https://github.com/xbmc/xbmc.git
Cloning into 'xbmc'...
remote: Counting objects: 17977, done.
remote: Compressing objects: 100% (13473/13473), done.
Receiving objects:  36% (6554/17977), 19.21 MiB | 469 KiB/s    

এর চেয়ে দ্রুত হবে:

git clone https://github.com/xbmc/xbmc.git
Cloning into 'xbmc'...
remote: Reusing existing pack: 281705, done.
remote: Counting objects: 533, done.
remote: Compressing objects: 100% (177/177), done.
Receiving objects:  14% (40643/282238), 55.46 MiB | 578 KiB/s

অথবা

git clone -b 13.1rc1-Gotham  https://github.com/xbmc/xbmc.git
Cloning into 'xbmc'...
remote: Reusing existing pack: 281705, done.
remote: Counting objects: 533, done.
remote: Compressing objects: 100% (177/177), done.
Receiving objects:  12% (34441/282238), 20.25 MiB | 461 KiB/s

6
--depth 1একটি রত্ন, তাই অনেকগুলি পুরো গিট ইতিহাসটি কেবলমাত্র ব্যবহার করতে ডাউনলোড করে HEAD।
— এমজিপি

2
--depth 1ডিফল্ট করা উচিত; যদি কেউ পূর্বের প্রতিশ্রুতি চেচআউট করার চেষ্টা করে তবে তাদের বাকীটি ডাউনলোড করার জন্য অনুরোধ করা উচিত।
— জিক্কু জোসে

3

কমান্ডটি ব্যবহার করুন

git clone --help

আপনার গিট কমান্ডটি সমর্থন করে কিনা তা দেখতে

git clone --branch tag_name

যদি তা না হয় তবে কেবল নিম্নলিখিতটি করুন:

git clone repo_url 
cd repo
git checkout tag_name

1

একটি নির্দিষ্ট ট্যাগ ক্লোনিং করা, 'বিচ্ছিন্ন হেড' অবস্থায় ফিরে আসতে পারে ।

কার্যকারণ হিসাবে, প্রথমে রেপো ক্লোন করার চেষ্টা করুন এবং তারপরে একটি নির্দিষ্ট ট্যাগটি চেকআউট করুন। উদাহরণ স্বরূপ:

repo_url=https://github.com/owner/project.git
repo_dir=$(basename $repo_url .git)
repo_tag=0.5

git clone --single-branch $repo_url # using --depth 1 can show no tags
git --work-tree=$repo_dir --git-dir=$repo_dir/.git checkout tags/$repo_tag

দ্রষ্টব্য: গিট ১.৮.৫ থেকে আপনি এবং এর -C <path>পরিবর্তে, ব্যবহার করতে পারেন ।--work-tree--git-dir

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