এটি আপনাকে এরকম কিছু দেয়:
$ git log cee157
error: short SHA1 cee157 is ambiguous.
error: short SHA1 cee157 is ambiguous.
fatal: ambiguous argument 'cee157': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
আমি এটির মতো সদৃশ উপসর্গগুলির সাথে প্রতিশ্রুতিগুলি সন্ধান করে একটি সত্যিকারের গিট সংগ্রহস্থলের উপর এটি পরীক্ষা করেছি:
git rev-list master | cut -c-4 | sort | uniq -c | sort -nr | head
এটি পুনর্বিবেচনার তালিকাটি গ্রহণ করে master, প্রথম 4 টি অক্ষর কেটে ফেলেছে এবং বাকীটি ফেলে দেয়, সদৃশগুলি গণনা করে এবং সংখ্যা অনুসারে বাছাই করে। আমার তুলনামূলকভাবে 1500 ডলারের একটি ছোট সংগ্রহস্থলটিতে আমি একটি সাধারণ 4-সংখ্যার উপসর্গের সাথে বেশ কয়েকটি সংশোধনী পেয়েছি। আমি একটি 4-সংখ্যার উপসর্গটি বেছে নিয়েছি কারণ এটি গিট দ্বারা সমর্থিত সংক্ষিপ্ততম আইনি দৈর্ঘ্য বলে মনে হচ্ছে। (অস্পষ্ট না হলেও 3 টি সংখ্যা বা তারও কম দিয়ে কাজ করে না))
বিটিডব্লিউ এটি কোনও টাইপো ছিল না, নকল এসএএএল সংখ্যাটি নির্বিশেষে (2 এবং 3 দিয়ে চেষ্টা করা) দ্বিপাক্ষিক SHA1 সম্পর্কে ত্রুটি বার্তা কেন দু'বার প্রদর্শিত হবে তা আমি জানি না:
error: short SHA1 cee157 is ambiguous.
error: short SHA1 cee157 is ambiguous.
(উভয় অন stderr। আসলে পুরো আউটপুট চালু আছে stderr, কিছুই নেই stdout))
উইন্ডোজ পরীক্ষিত:
$ git --version
git version 1.8.1.msysgit.1
আমি মনে করি এটি নিরাপদ বলে মনে হয় যে যদি আপনার সংস্করণ> = 1.8.1 হয় তবে গিট আপনাকে নকল সম্পর্কে সতর্ক করবে । (এটি ডুপ্লিকেট সহ পরিচালনা করতে অস্বীকার করবে)) আমি অনুমান করব যে অনেক পুরানো সংস্করণও এইভাবে কাজ করেছিল।
হালনাগাদ
যখন এই পরীক্ষা, আপনি কারণে, 4 সংখ্যার SHA1 এ কমপক্ষে প্রয়োজন int minimum_abbrev = 4মধ্যে environment.c । ( এটি নির্দেশ করার জন্য @ দেবনুলকে ধন্যবাদ !)
man gitrevisions, যা অন্তত ইঙ্গিত দেয় একটি সতর্কতা দেওয়া হবে যেহেতু এতে বলা হয়েছে যে আপনি তার সংশোধনটির পুরো SHA1-1 নাম বা "একটি শীর্ষস্থানীয় স্ট্রিং যা ভান্ডারের অভ্যন্তরে অনন্য।"