গিট সংস্করণ 2.5+ (Q2 2015) দিয়ে শুরু করা, একটি একক প্রতিশ্রুতি আনা (সম্পূর্ণ রেপো ক্লোনিং ছাড়াই) আসলে সম্ভব।
দেখুন কমিট 68ee628 দ্বারা ফ্রেডরিক মিশ্রিত ( moroten) , 21 মে 2015.
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে a9d3493 কমিট , ২01২ জুন 2015)
আপনার এখন একটি নতুন কনফিগার আছে (সার্ভারের দিকে)
uploadpack.allowReachableSHA1InWant
upload-packকোনও রেফ টিপ থেকে পৌঁছনীয় এমন কোনও অবজেক্টের জন্য জিজ্ঞাসা করে এমন আনার অনুরোধ গ্রহণ করার অনুমতি দিন । তবে নোট করুন যে বস্তুটির পুনঃব্যবহারযোগ্যতা গণনা করা গণনা ব্যয়বহুল।
ডিফল্ট false।
যদি আপনি সেই অগভীর ক্লোন ( git fetch --depth=1) এর সাথে সার্ভার-সাইড কনফিগারেশনটি একত্রিত করেন তবে আপনি একটি একক প্রতিশ্রুতি চাইতে পারেন (দেখুন t/t5516-fetch-push.sh:
git fetch --depth=1 ../testrepo/.git $SHA1
git cat-fileকমিটটি ব্যবহার করতে পারেন দেখুন যে প্রতিশ্রুতি আনা হয়েছে:
git cat-file commit $SHA1
" git upload-pack" যে পরিবেশন করে " " এমন কমিটগুলি git fetchপরিবেশন করতে বলা যেতে পারে যা কোনও রেফের ডগায় নেই, যতক্ষণ না তারা রেফারেন্স থেকে uploadpack.allowReachableSHA1InWant
কনফিগারেশন ভেরিয়েবলের সাথে পৌঁছাতে পারে ।
সম্পূর্ণ ডকুমেন্টেশন হ'ল:
upload-pack: allyচ্ছিকভাবে পৌঁছনীয় sha1 আনার অনুমতি দিন
সঙ্গে uploadpack.allowReachableSHA1InWantসার্ভার প্রান্তের উপর কনফিগারেশন অপশন সেট, " git fetchচান" লাইনটি নাম একটি বস্তু যে বিজ্ঞাপনে করা হয় নি (সম্ভবত ব্যান্ডের বা submodule পয়েন্টার থেকে প্রাপ্ত করা হয়েছে) "একটি সঙ্গে একটি অনুরোধ করতে পারেন"।
কেবলমাত্র শাখার টিপস থেকে আগমনের যোগ্য অবজেক্টগুলি, অর্থাত্ বিজ্ঞাপনযুক্ত শাখা এবং গোপনীয় শাখাগুলির মিলন transfer.hideRefsপ্রক্রিয়া করা হবে।
দ্রষ্টব্য যে পুনরায় ব্যবহারযোগ্যতা যাচাই করতে ইতিহাস পিছনে ফিরে যেতে একটি যুক্ত খরচ রয়েছে associated
একটি নির্দিষ্ট কমিটের সামগ্রী প্রাপ্ত করার সময় এই বৈশিষ্ট্যটি ব্যবহার করা যেতে পারে, যার জন্য sha1 জানা যায়, পুরো সংগ্রহস্থলটির ক্লোনিংয়ের প্রয়োজন ছাড়াই, বিশেষত যদি অগভীর আনতে ব্যবহৃত হয় ।
দরকারী ক্ষেত্রে যেমন
- ইতিহাসে বড় ফাইল রয়েছে এমন সংগ্রহস্থল,
- সাবমডিউল চেকআউটের জন্য কেবল প্রয়োজনীয় ডেটা আনা,
- যখন কোন সংখ্যার পরিবর্তে সংখ্যার পরিবর্তে কমিটের শর্তে বিবেচনা করেন, তবে এটি কোন সঠিক শাখার সাথে এবং জেরিটের অন্তর্গত তা না জানিয়ে কোনও শএ ভাগ করে নেওয়ার সময়।
(জেরিটের কেস ইতিমধ্যে সমাধান করা হয়েছে allowTipSHA1InWantযেহেতু প্রতিটি গেরিট পরিবর্তনের রেফারেন্স রয়েছে))
গিট 2.6 (Q3 2015) সেই মডেলটিকে উন্নত করবে। কমিট 2 বিসি 31 ডি 1
দেখুন , জেফ কিং ( ) দ্বারা সিসি 118 এ 6 (28 জুলাই 2015) কমিট করুন । (দ্বারা একীভূত junio সি Hamano - - মধ্যে কমিট 824a0be , 19 আগস্ট 2015)peff
gitster
refs: সমর্থন নেতিবাচক transfer.hideRefs
আপনি যদি transfer.hideRefsকনফিগারেশনটি ব্যবহার করে রেফের একটি শ্রেণিবিন্যাস আড়াল করেন তবে পরে সেই কনফিগারেশনটিকে "লুকোচুরি" রাখতে ওভাররাইড করার কোনও উপায় নেই।
এই প্যাচটি একটি "নেতিবাচক" আড়াল কার্যকর করে যার ফলে ম্যাচগুলি তাত্ক্ষণিকভাবে লুকিয়ে রাখা হিসাবে চিহ্নিত করা হয়, এমনকি অন্য ম্যাচটি এটি লুকিয়ে রাখলেও।
আমরা কনফিগারেশনের মাধ্যমে কীভাবে আমাদের খাওয়ানো হয় তার থেকে আমরা ম্যাচগুলি বিপরীত ক্রমে প্রয়োগ করার যত্ন নিই, কারণ এটি আমাদের স্বাভাবিক "শেষের একটি জয়" কনফিগার অগ্রাধিকারের কাজকে (এবং এন্ট্রিগুলিতে .git/configউদাহরণস্বরূপ, ওভাররাইড হবে)/etc/gitconfig ) দেয়।
সুতরাং আপনি এখন এটি করতে পারেন:
git config --system transfer.hideRefs refs/secret
git config transfer.hideRefs '!refs/secret/not-so-secret'
refs/secretএকটি নির্দিষ্ট রেপোতে একটি পাবলিক বিট ব্যতীত সমস্ত ভাণ্ডারে লুকিয়ে রাখতে ।
গিট 2.7 (নভেম্বর / ডিসেম্বর 2015) আবার উন্নতি করবে:
দেখুন কমিট 948bfa2 , কমিট 00b293e (05 নভেম্বর 2015), 78a766a কমিট , কমিট 92cab49 , কমিট 92cab49 , কমিট 92cab49 (03 নভেম্বর 2015), কমিট 00b293e , কমিট 00b293e (05 নভেম্বর 2015), এবং 92cab49 কমিট , 92cab49 কমিট , কমিট 92cab49 , লুকাস ফ্লিচার () দ্বারা 92cab49 (03 নভেম্বর 2015 ) প্রতিশ্রুতিবদ্ধ ।
সাহায্যপ্রাপ্ত: এরিক সানশাইন ( ) । (দ্বারা একীভূত জেফ রাজা - - মধ্যে dbba85e কমিট , 20 নভেম্বর 2015)lfos
sunshineco
peff
config.txt: hideRefsনেমস্পেসের সাথে শব্দার্থবিজ্ঞানের ডকুমেন্ট করুন
এই মুহুর্তে, কোনও transfer.hideRefsনামস্থান সেট করা থাকলে কী আচরণ করা উচিত তার কোনও স্পষ্ট সংজ্ঞা নেই is
সেক্ষেত্রে hideRefsউপসর্গগুলি মিলিয়ে ফেলা নামগুলি মিলিয়ে ব্যাখ্যা করুন । এইভাবে hideRefsপ্যাটার্নগুলি বর্তমানে রিসিভ-প্যাকটিতে পরিচালনা করা হয়।
লুকানো রেফ: সম্পূর্ণ রেফের সাথে ম্যাচ করার জন্য সমর্থন যুক্ত করুন
স্ট্রিপড রেফগুলির সাথে ম্যাচিংয়ের পাশাপাশি, এখন hideRefsযে কোনও প্যাটার্ন যুক্ত করা যেতে পারে যা পুরো (আনস্ট্রিপড) রেফের সাথে মিলে যায়।
স্ট্রিপড এবং পূর্ণ ম্যাচের মধ্যে পার্থক্য করার জন্য, এই নতুন নিদর্শনগুলি অবশ্যই একটি সারফ্লেক্স ( ^) দিয়ে উপস্থাপিত করা উচিত ।
অতএব নতুন ডকুমেন্টেশন :
transfer.hideRefs:
যদি কোনও নেমস্পেস ব্যবহার করা হয়, transfer.hiderefsনিদর্শনগুলির সাথে মিলে যাওয়ার আগে প্রতিটি রেফারেন্স থেকে নেমস্পেস উপসর্গটি ছিটিয়ে দেওয়া হবে ।
উদাহরণস্বরূপ, যদি refs/heads/masterনির্দিষ্ট করা হয় transfer.hideRefsএবং বর্তমান নামস্থানটি হয় fooতবে refs/namespaces/foo/refs/heads/master
বিজ্ঞাপনগুলি বাদ দেওয়া হয় refs/heads/masterএবং
refs/namespaces/bar/refs/heads/masterতথাকথিত "হ্যাভ" লাইন হিসাবে বিজ্ঞাপন দেওয়া হয়।
স্ট্রিপিংয়ের আগে রেফগুলি ম্যাচ করার জন্য, ^রেফ নামের সামনে একটি যুক্ত করুন । যদি আপনি একত্রিত হন !এবং ^, !অবশ্যই প্রথমে নির্দিষ্ট করা উচিত।
আর .. কনফিগারেশনে মন্তব্যগুলিতে উল্লেখ করেছে uploadpack.allowAnySHA1InWant, যা upload-packকোনও fetchঅনুরোধ গ্রহণ করতে দেয় যা যে কোনও বস্তুর জন্য জিজ্ঞাসা করে। (ডিফল্ট এ false)।
দেখুন f8edeaa কমিট দ্বারা (নভেম্বর 2016, গীত v2.11.1) ডেভিড "novalis" টার্নার ( novalis) :
upload-pack: allyচ্ছিকভাবে কোনও sha1 আনার অনুমতি দিন
আমরা রিপোসিটরির সম্পূর্ণরূপে সমস্ত কিছু অ্যাক্সেস করার জন্য ব্যবহারকারীর উপর নির্ভর করি সেই ক্ষেত্রে একটি পুনর্বাসন চেক করা কিছুটা নির্বোধ বলে মনে হচ্ছে।
এছাড়াও, এটি একটি বিতরণ সিস্টেমে যথাযোগ্য - সম্ভবত একটি সার্ভার একটি রেফের বিজ্ঞাপন দেয়, তবে অন্যটির পরে সেই রেফের উপর জোর চাপ দেওয়া হয়েছিল এবং সম্ভবত দুটি এইচটিটিপি অনুরোধ এই বিভিন্ন সার্ভারের দিকে পরিচালিত হয়েছে।