প্রথমে পুরো সংগ্রহস্থলটি যাচাই না করেই কি স্পারস চেকআউট করা সম্ভব?


171

আমি খুব বড় সংখ্যক ফাইলের সাথে একটি সংগ্রহস্থল নিয়ে কাজ করছি যা চেকআউট করতে কয়েক ঘন্টা সময় নেয়। আমি গিট এখন এই ধরণের সংগ্রহস্থলের সাথে ভাল কাজ করবে কিনা তার সম্ভাবনার দিকে নজর দিচ্ছি যে এটি স্পারস চেকআউটগুলিকে সমর্থন করে তবে আমি খুঁজে পেতে পারি এমন প্রতিটি উদাহরণ নিম্নলিখিতটি দেয়:

git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD

কমান্ডগুলির এই অনুক্রমের সাথে সমস্যাটি হ'ল মূল ক্লোনটি চেকআউটও করে। যদি আপনি আসল ক্লোন কমান্ডটিতে -n যোগ করেন তবে রিড-ট্রি কমান্ডটি নিম্নলিখিত ত্রুটির ফলস্বরূপ:

ত্রুটি: স্পার্স চেকআউট কার্যকারী ডিরেক্টরিতে কোনও প্রবেশ ছাড়বে না

প্রথমে সমস্ত ফাইল পরীক্ষা করে না দেখে কীভাবে স্পার্স চেকআউট করতে পারে?



দ্রষ্টব্য: গিট 2.9 (কেবলমাত্র 2016) দিয়ে git worktree add --no-checkoutখুব (কেবল নয় git clone --no-checkout) কাজ করবে । দেখুন নিচের আমার উত্তর
VonC

সব সমাধান এখানে চেষ্টা করার পর, শুধুমাত্র এক যা শুধু ডিরেক্টরি (কোন পরে ঠেলাঠেলি!) ডাউনলোড করে নেই এই
লন্ডনরব

উত্তর:


24

2020 সালে .git ফাইল সম্পর্কে চিন্তা না করে স্পার্স-চেকআউট মোকাবেলা করার একটি সহজ উপায় রয়েছে। আমি এটি কীভাবে করেছি তা এখানে:

git clone <URL> --no-checkout <directory>
cd <directory>
git sparse-checkout init --cone # to fetch only root files
git sparse-checkout set apps/my_app libs/my_lib # etc, to list sub-folders to checkout
# they are checked out immediately after this command, no need to run git pull

নোট করুন যে এটির জন্য গিট সংস্করণ 2.25 ইনস্টল করা দরকার। এটি সম্পর্কে এখানে আরও পড়ুন: https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/

হালনাগাদ:

উপরের git cloneকমান্ডটি এখনও ফাইলগুলি পরীক্ষা না করেই পুরো ইতিহাস সহ রেপোটিকে ক্লোন করবে। আপনার যদি পুরো ইতিহাসের প্রয়োজন না হয়, আপনি কমান্ডটিতে --depth পরামিতি যুক্ত করতে পারেন :

# create a shallow clone,
# with only 1 (since depth equals 1) latest commit in history
git clone <URL> --no-checkout <directory> --depth 1

1
এটা সত্য, ভাল পয়েন্ট। সম্মত। আমি অনুসৃত sparse-checkout --coneইন বৈশিষ্ট্যটি stackoverflow.com/a/59515426/6309
VonC

--filterএখানে আপনার উত্তরে আংশিক ক্লোন ( ) যুক্ত করার উপযুক্ত হবে।
টাও

@ আলেক্সি-গ্রিঙ্কো, প্রথম কমান্ডটি এখনও পুরো রেপোটিকে প্রশ্নবিদ্ধ করে ক্লোন করতে হয়েছিল, এমনকি যদি এটি পরীক্ষা করে না দেখায় ... আমি যে সমস্ত জিনিসগুলির প্রয়োজন হয় না তার ক্লোনিং না করার সময়টি আমি সন্ধান করছি .. ।
মরপপ

1
@ এমপ্রপ, আমি --depthপ্যারামিটার যুক্ত করে উত্তরটি আপডেট করেছি যা আমাদের অগভীর ক্লোন করতে দেয়। এটা কি সাহায্য করবে? @ টাও, --filterএই ক্ষেত্রে কীভাবে ব্যবহার করবেন তা নিশ্চিত নন , আমি চেষ্টা করে দেখিনি। আপনি কি একটি উদাহরণ প্রদান করতে পারেন, বা এই বিষয়ে আরও একটি উত্তর পোস্ট করতে পারেন?
অ্যালেক্সি গ্রিঙ্কো

4
নোট করুন যে এটি ২.২27 প্রকাশে একই রকম কাজ করে না - কেন জানি না।
ব্লেজ

162

দয়া করে নোট করুন যে এই উত্তরটি কোনও সংগ্রহশালা থেকে ডেটার একটি সম্পূর্ণ অনুলিপি ডাউনলোড করে। git remote add -fকমান্ড পুরো সংগ্রহস্থলের ক্লোন হবে। থেকে লোক পৃষ্ঠাgit-remote :

সঙ্গে -fবিকল্প, git fetch <name>অবিলম্বে চালানোর পর দূরবর্তী তথ্য সেট আছে।


এটা চেষ্টা কর:

mkdir myrepo
cd myrepo
git init
git config core.sparseCheckout true
git remote add -f origin git://...
echo "path/within_repo/to/desired_subdir/*" > .git/info/sparse-checkout
git checkout [branchname] # ex: master

এখন আপনি দেখতে পাবেন যে কেবলমাত্র পথ / অভ্যন্তরীণ_রেপো / থেকে / কাঙ্ক্ষিত_সুবদির উপস্থিত ফাইলগুলি (এবং সেই পথে) দিয়ে আপনার একটি "ছাঁটাই" চেকআউট রয়েছে।

নোট করুন যে উইন্ডোজ কমান্ড লাইনে আপনাকে অবশ্যই পথটি উদ্ধৃত করা উচিত নয়, আপনাকে অবশ্যই এটির সাথে the ষ্ঠ আদেশটি পরিবর্তন করতে হবে:

echo path/within_repo/to/desired_subdir/* > .git/info/sparse-checkout

আপনি যদি স্পার্স-চেকআউট ফাইলটিতে কোটগুলি পাবেন তবে তা কার্যকর হবে না


3
আমি "গিট চেকআউট [শাখার নাম]" কমান্ডটি ব্যবহার করতে পারি না (ত্রুটিটিও পাওয়া গেছে: স্পার্স চেকআউট কার্যকারী ডিরেক্টরিতে কোনও প্রবেশিকা ছেড়ে দেয় না)। আমি "গিট পুল অরিজিন মাস্টার" ব্যবহার করেছি এবং এটি সঠিকভাবে কাজ করে।
নাটি

2
লিনাক্সে গিট সংস্করণ 1.7.2.5 সহ, আমি নিম্নলিখিত ফলাফল পেয়েছি: প্রতিধ্বনি 'dir / *' কেবল ডায়ারে ফাইলগুলি পরীক্ষা করে তবে এটির সাবডিয়ারগুলিতে নয়; প্রতিধ্বনি 'dir /' (কোন গ্রহাণু নেই!) সঠিকভাবে ডির / এর নীচে পুরো গাছটি পরীক্ষা করে। আছে HTH
pavek

37
এই সরল প্লেইনটি আমার পক্ষে কার্যকর হয়নি - "গিট রিমোট" কমান্ডের ফলে পুরো রেপো চেক আউট হয়ে যায় - বাম! - ঠিক তখনই; সুতরাং "গিট কনফিগারেশন ..." এবং নিম্নলিখিত কমান্ডগুলিতে আগ্রহী সাব-ডিরের স্পেসিফিকেশনটির কোনও প্রভাব ছিল না। "গিট রিমোট" কমান্ডে রেপো ইউআরএল নির্দিষ্ট করা কি কেবল শীর্ষ স্তরের .git ফাইলের পথ? বা এটি কি আগ্রহের উপ-দিরের পথ হওয়া উচিত?
রব ক্রানফিল

10
এখানে একটি প্রবাহিত সংস্করণ রয়েছে (ম্যানুয়ালি ডিরেক্টরি তৈরি করার প্রয়োজন নেই, কোনও আরআিন এবং রিমোট অ্যাড করার দরকার নেই, কেবলমাত্র সাধারণ গিট ক্লোন + চেকআউট চক্রটি @onionjake দ্বারা উল্লিখিত হিসাবে --no-চেকআউট বিকল্পের সাথে করুন): গিট ক্লোন - না-চেকআউট <প্রকল্পের> সিডি <প্রকল্পের> প্রতিধ্বনি <Dir>> .git / তথ্য / বিক্ষিপ্ত চেকআউট Git চেকআউট <শাখা>
গ্রেগর

22
git remote addকমান্ড ডাউনলোডসমূহ সবকিছু কারণ যে কি -fকরে - বলে তা অবিলম্বে, আনতে আগে আপনি বিক্ষিপ্ত চেকআউট অপশন সংজ্ঞায়িত করেছি। তবে বাদ দেওয়া বা পুনরায় অর্ডার করা সাহায্য করবে না। বিরল চেকআউটগুলি কেবল কার্যকারী গাছকেই প্রভাবিত করে, ভান্ডারগুলিকে নয়। আপনি যদি চান তার পরিবর্তে আপনার সংগ্রহস্থলটি ডায়েট চালিয়ে যান তবে তার পরিবর্তে আপনাকে বিকল্পগুলি --depthবা --single-branchবিকল্পগুলি দেখতে হবে।
মিরাল

43

গিট ক্লোনের একটি বিকল্প ( --no-checkoutবা -n) রয়েছে যা আপনি যা চান তা করে।

আপনার আদেশের তালিকায় কেবল পরিবর্তন করুন:

git clone <path>

এটি:

git clone --no-checkout <path>

তারপরে আপনি প্রশ্নের মধ্যে বর্ণিত হিসাবে স্পারস চেকআউটটি ব্যবহার করতে পারেন।


7
হ্যাঁ, এটি চেকআউট করে না, তবে এখনও পুরো রেপো ইতিহাস ডাউনলোড করতে একটি আনতে পারে
জেসন এস

9
@ জেসনস প্রশ্নটি বিশেষত একটি চেকআউট না করার বিষয়ে ছিল। আপনি যদি না চান তবে পুরো ইতিহাস --depth <depth>গিট ক্লোনের বিকল্পটি ব্যবহার করে । এটি কেবল <depth>ইতিহাস থেকে সর্বশেষ কমিটগুলি ডাউনলোড করবে । বর্তমানে গিটের সাথে একক প্রতিশ্রুতি আংশিকভাবে ডাউনলোড করার কোনও উপায় নেই, যদিও আপনার দূরবর্তী এটি সমর্থন করে তবে আপনি git archive --remoteফাইলের আংশিক সেট ডাউনলোড করতে পারেন ।
পেঁয়াজজাকে

আপনি এখন vfsforgit.org ব্যবহার করে কোনও ফাইল ডাউনলোড না করে একটি প্রতিশ্রুতি 'চেক আউট' করতে পারেন । যদি কেউ কেবল একটি প্রতিশ্রুতিবদ্ধ একটি ছোট উপসেট পরীক্ষা করার চেষ্টা করে তবে এটি কার্যকর হতে পারে।
পেঁয়াজকে

22

আমার অনুরূপ ব্যবহারের কেস ছিল, কেবলমাত্র আমি কোনও ট্যাগের জন্য প্রতিশ্রুতি পরীক্ষা করতে এবং ডিরেক্টরিগুলি ছাঁটাই করতে চেয়েছিলাম। ব্যবহারের --depth 1ফলে এটি প্রকৃতপক্ষে বিরল হয়ে যায় এবং সত্যই জিনিসগুলিকে গতি বাড়িয়ে তুলতে পারে।

mkdir myrepo
cd myrepo
git init
git config core.sparseCheckout true
git remote add origin <url>  # Note: no -f option
echo "path/within_repo/to/subdir/" > .git/info/sparse-checkout
git fetch --depth 1 origin tag <tagname>
git checkout <tagname>

3
--depth 1 কে অগভীর ক্লোন বলা হয়, কেবল FYI।
অ্যালিসন

1
এই সাহায্য! আপনাকে ধন্যবাদ
কেপি 123

1
এর জন্য ধন্যবাদ. পুরো রেপো ডাউনলোড করা রোধ করার জন্য আরও অনেক উপায়ে চেষ্টা করার পরে এটি ঠিক পেয়েছে।
জে ... এস

12

পাভেক (ধন্যবাদ!) এর আগে পোস্ট করা ওয়ান-লাইনারের কাছ থেকে আমি যে উত্তরটি সন্ধান করছিলাম তা পেয়েছি (তাই!) তাই আমি লিনাক্সে (জিআইটি 1.7.1) কাজ করে এমন একক জবাবের একটি সম্পূর্ণ উত্তর সরবরাহ করতে চেয়েছিলাম :

1--> mkdir myrepo
2--> cd myrepo
3--> git init
4--> git config core.sparseCheckout true
5--> echo 'path/to/subdir/' > .git/info/sparse-checkout
6--> git remote add -f origin ssh://...
7--> git pull origin master

আমি কমান্ডগুলির ক্রমটি কিছুটা পরিবর্তন করেছি তবে এর কোনও প্রভাব নেই বলে মনে হচ্ছে। কীটি হ'ল পদক্ষেপের 5 ধাপে শেষের দিকে "/" পিছনের স্ল্যাশের উপস্থিতি ।


3
আপনি কি নিশ্চিত যে এটি আপনি চান -f এর অর্থ সমস্ত ডেটা আনা, আপনি এখনও যা চান না এমন সমস্ত তথ্য পান এবং এটি ধীর গতির হয়। (এটি এখনও "পুরো সংগ্রহশালা পরীক্ষা করে
দেখছে

1
আমি উইন্ডোজের উপরের পদক্ষেপগুলির চেষ্টা করেছি কিন্তু অতিরিক্ত চেকআউট কমান্ড প্রম্পটে কাজ করে না তাই আমি গিট বাশ শেল চেষ্টা করেছিলাম এবং এটি কার্যকর হয়েছে !! কমান্ড প্রম্পট সমস্ত গিট কমান্ড যেমন পুশ, টান ইত্যাদি কার্যকর করতে সক্ষম হয় তবে যখন এটি স্পর্শ করার জন্য আসে তখন ব্যর্থ হয়।
ব্যবহারকারী593029

কেবলমাত্র সাবডিরেক্টরির ফাইলগুলি কীভাবে করবেন। আমি কেবলমাত্র নির্দিষ্ট সাব ডিরেক্টরিতে ফাইলগুলি আনতে চাই।
ববিশ শ্রেষ্ঠ

@ বাবিশ্রেষ্ঠা অন্যান্য উত্তর এফবিআইডাব্লুয়ে পেঁয়াজকে মন্তব্য করেছেন দেখুন: |
রজারডপ্যাক

9

দুঃখের বিষয়, উপরের কোনওটিই আমার পক্ষে কাজ করেনি তাই আমি sparse-checkoutফাইলের বিভিন্ন সমন্বয় চেষ্টা করে খুব দীর্ঘ সময় ব্যয় করেছি ।

আমার ক্ষেত্রে আমি ইন্টেলিজ আইডিইএ কনফিগারেশনের সাথে ফোল্ডারগুলি এড়িয়ে যেতে চেয়েছিলাম।

আমি যা করেছি তা এখানে:


চালান git clone https://github.com/myaccount/myrepo.git --no-checkout

চালান git config core.sparsecheckout true

.git\info\sparse-checkoutনিম্নলিখিত বিষয়বস্তু দিয়ে তৈরি

!.idea/*
!.idea_modules/*
/*

সমস্ত ফাইল পেতে 'গিট চেকআউট -' চালান।


এটিকে কাজ করার জন্য গুরুত্বপূর্ণ বিষয় হ'ল /*ফোল্ডারের নাম যুক্ত করা।

আমার গিট আছে 9.৯


3
নাহ, এটি এখনও সমস্ত কিছু ডাউনলোড করে, সমস্ত কমিট এবং সমস্ত ফাইল, গিট
২.৩.২

6
বিরল চেকআউটগুলি কেবল কার্যকারী গাছকেই প্রভাবিত করে। এগুলি সংগ্রহস্থলের আকার বা কী পাওয়া যায় তা প্রভাবিত করে না। আপনি যদি এটি চান তবে আপনার বিভিন্ন বিকল্পের প্রয়োজন।
মিরাল

উইন্ডোজে কাজ করা এবং 'pbetkier' দ্বারা উপরের পদক্ষেপগুলি ব্যবহার করে যদি পরের বার গিট বাশ শেল ব্যবহার করে দেখুন এটি ভাল কাজ করে
ব্যবহারকারী 593030

6

হ্যাঁ, সম্পূর্ণ সংগ্রহস্থলটি ডাউনলোড করার পরিবর্তে কোনও ফোল্ডার ডাউনলোড করা সম্ভব। এমনকি কোনও / শেষ প্রতিশ্রুতি

এটি করার জন্য দুর্দান্ত উপায়

D:\Lab>git svn clone https://github.com/Qamar4P/LolAdapter.git/trunk/lol-adapter -r HEAD
  1. -আর হেড কেবল সর্বশেষ সংস্করণটি ডাউনলোড করবে, সমস্ত ইতিহাস উপেক্ষা করবে।

  2. নোট ট্রাঙ্ক এবং / নির্দিষ্ট ফোল্ডার

এর আগে এবং পরে ইউআরএল অনুলিপি করুন এবং পরিবর্তন করুন /trunk/। আমি আশা করি এটি কারও সাহায্য করবে। উপভোগ করুন :)

26 সেপ্টেম্বর 2019 এ আপডেট হয়েছে


কেবল এসএনএন থেকে আসা বা ব্যবহারকারীদের জন্য প্রযোজ্য। এই এক upvote হবে না।
সি জনসন

@ সি জোনসন যেমন আপনি দেখতে পাচ্ছেন, আমি গিট রেপো ফোল্ডারটি ক্লোন করছি। ভাল কাজ করছেন
কামার

1
দ্রষ্টব্য যে এটি গিটটি বাক্সের বাইরে কিছু দেয় না তবে এটি এমন কিছু যা গিট হাব নিয়মিত গিট অফার সংলগ্ন প্রস্তাব করে। তবে আপনি এটি ব্যবহার করতে পারলে এটি সুন্দরভাবে কাজ করে। ধন্যবাদ!
কিউস - মনিকা এ

1
এসও সম্পর্কিত অগণিত পরামর্শগুলির মধ্যে আপনার সর্বাধিক সংক্ষিপ্ত এবং স্পষ্ট সমাধান।
বোর্ডারাইডার

4

গিট 2.9 (জুন 2016) এটিকে সাধারণীকরণ করবে --no-checkout বিকল্পটিgit worktree add (কমান্ডটি যা একটি রেপোতে একাধিক কার্যনির্বাহী গাছের সাথে কাজ করতে দেয় )

দেখুন ef2a0ac কমিট (29 মার্চ 2016) দ্বারা সত্যজিৎ ঝাঙ ( OneRaynyDay)
সাহায্যপ্রাপ্ত: এরিক সানশাইন ( sunshineco) , এবং জুনিও সি হামানো ( gitster)
(দ্বারা মার্জড junio সি Hamano - gitster- মধ্যে 0d8683c কমিট , 13 এপ্রিল 2016)

দ্য git worktreeMan পৃষ্ঠা এখন রয়েছে:

--[no-]checkout:

ডিফল্টরূপে, addচেক আউট <branch>, --no-checkoutকাস্টমাইজেশন যেমন স্পার্স-চেকআউট কনফিগার করার জন্য চেকআউট দমন করতে ব্যবহৃত হতে পারে ।


4

কেবলমাত্র নির্দিষ্ট ফোল্ডারে চেকআউট ছড়িয়ে দেওয়ার পদক্ষেপ:

1) git clone --no-checkout  <project clone url>  
2) cd <project folder>
3) git config core.sparsecheckout true   [You must do this]
4) echo "<path you want to sparce>/*" > .git/info/sparse-checkout
    [You must enter /* at the end of the path such that it will take all contents of that folder]
5) git checkout <branch name> [Ex: master]

এফওয়াইআই, প্রথম (1) পদক্ষেপে আপনাকে কোনও - চেকআউট ব্যবহার করার দরকার নেই। কেবল পুরো রেপোটি ক্লোন করুন এবং তারপরে নীচের সমস্ত পদক্ষেপগুলি 2-5 (উপরে বর্ণিত) সম্পাদন করুন, আপনি যা চান আউটপুট পাবেন। না পেলে আমাকে জানিয়ে দিন Let
SANDEEP MACHIRAJU

4

উপর ভিত্তি করে এই উত্তর দ্বারা apenwarr এবং এই মন্তব্যটি দ্বারা Miral নিম্নলিখিত সমাধান যা আমাকে ডিস্কের স্থান প্রায় 94% সংরক্ষিত যখন ক্লোনিং নিয়ে এসেছেন লিনাক্স Git স্থানীয়ভাবে সংগ্রহস্থলের যখন শুধুমাত্র একটি ডকুমেন্টেশন সাব অনুপস্থিত:

$ cd linux
$ du -sh .git .
2.1G    .git
894M    .
$ du -sh 
2.9G    .
$ mkdir ../linux-sparse-test
$ cd ../linux-sparse-test
$ git init
Initialized empty Git repository in /…/linux-sparse-test/.git/
$ git config core.sparseCheckout true
$ git remote add origin ../linux
# Parameter "origin master" saves a tiny bit if there are other branches
$ git fetch --depth=1 origin master
remote: Enumerating objects: 65839, done.
remote: Counting objects: 100% (65839/65839), done.
remote: Compressing objects: 100% (61140/61140), done.
remote: Total 65839 (delta 6202), reused 22590 (delta 3703)
Receiving objects: 100% (65839/65839), 173.09 MiB | 10.05 MiB/s, done.
Resolving deltas: 100% (6202/6202), done.
From ../linux
 * branch              master     -> FETCH_HEAD
 * [new branch]        master     -> origin/master
$ echo "Documentation/hid/*" > .git/info/sparse-checkout
$ git checkout master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Already on 'master'
$ ls -l
total 4
drwxr-xr-x 3 abe abe 4096 May  3 14:12 Documentation/
$  du -sh .git .
181M    .git
100K    .
$  du -sh
182M    .

সুতরাং আমি ২.৯ জিবি থেকে ১৮২ এমবি তে নামলাম যা ইতিমধ্যে নিখুঁত।

যদিও আমি এটি এখানেgit clone --depth 1 --no-checkout --filter=blob:none file:///…/linux linux-sparse-test ( ইঙ্গিতযুক্ত ) কাজ করতে পেলাম না কেননা অনুপস্থিত ফাইলগুলি সমস্ত সূচকে সরানো ফাইল হিসাবে যুক্ত করা হয়েছিল। তাই আপনি যদি কাউকে সমতুল্য জানেন git clone --filter=blob:noneজন্য git fetch, আমরা সম্ভবত আরো কিছু মেগাবাইটে সংরক্ষণ করতে পারবেন। (ম্যান পেজটি পড়ার git-rev-listসাথে ইঙ্গিতও পাওয়া যায় যে এরকম কিছু রয়েছে --filter=sparse:path=…তবে আমি এটি কাজ করেও পাই নি।

(সমস্ত দেবিয়ান বুস্টার থেকে ২.২০.১-এর সাহায্যে চেষ্টা করা হয়েছে।)


1
আকর্ষণীয় প্রতিক্রিয়া। সম্মত। আমিও জানি না --filter=sparse:path=…
ভোনসি

3

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

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


0

আমার ক্ষেত্রে, Podsপ্রকল্পটি ক্লোন করার সময় আমি ফোল্ডারটি এড়িয়ে যেতে চাই । আমি নীচের মতো ধাপে ধাপে করেছি এবং এটি আমার পক্ষে কাজ করে। আশা করি এটা সাহায্য করবে.

mkdir my_folder
cd my_folder
git init
git remote add origin -f <URL>
git config core.sparseCheckout true 
echo '!Pods/*\n/*' > .git/info/sparse-checkout
git pull origin master

মেমো, আপনি যদি আরও ফোল্ডারগুলি এড়িয়ে যেতে চান তবে স্পার্স-চেকআউট ফাইলটিতে আরও লাইন যুক্ত করুন।

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