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


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.