সতর্কতা: push.default আনসেট করা নেই; এর অন্তর্নিহিত মানটি গিট ২.০ এ পরিবর্তিত হচ্ছে


1623

আমি কিছুক্ষণের জন্য গিট ব্যবহার করছি এবং আমি যখন চেষ্টা করব তখনই এই সতর্কতা বার্তাটি খুঁজে পেতে কেবলমাত্র একটি আপডেট ডাউনলোড করেছি push

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

আমি এটিকে উল্লিখিত মানগুলির মধ্যে একটিতে অবশ্যই সেট করতে পারি তবে তারা কী বোঝায়? মধ্যে পার্থক্য কি simpleএবং matching?

যদি আমি এটি একটি ক্লায়েন্টে পরিবর্তন করি তবে আমি অন্যান্য ক্লায়েন্টের সাথে রেপোগুলি ভাগ করে নেওয়ার জন্য আমার কিছু করা দরকার?




1
দ্রষ্টব্য: গিট ২.৮ (মার্চ ২০১)) সেই সতর্কতাটি সরিয়ে দেবে! দেখুন stackoverflow.com/a/22356644/6309
VonC

উত্তর:


2148

এটি ডক্সগুলিতে দুর্দান্তভাবে ব্যাখ্যা করা হয়েছে , তবে আমি সংক্ষেপে জানার চেষ্টা করব:

  • matchingমানে git pushহবে সব আপনার স্থানীয় শাখা ধাক্কা রিমোটের একই নামের জনকে। এটি দুর্ঘটনাক্রমে কোনও শাখাকে ধাক্কা দেওয়া সহজ করে তোলে যা আপনি ইচ্ছা করেন নি।

  • simpleমানে git pushহবে এক যে শুধুমাত্র বর্তমান শাখা ধাক্কা git pullথেকে টেনে ধরবে , এবং এছাড়াও চেক যে তাদের নাম মেলে না। এটি একটি আরও স্বজ্ঞাত আচরণ, এ কারণেই ডিফল্টটি এতে পরিবর্তিত হচ্ছে।

এই সেটিংটি কেবল আপনার স্থানীয় ক্লায়েন্টের আচরণকেই প্রভাবিত করে এবং আপনি কোন শাখাটি কমান্ড লাইনে চাপতে চান তা স্পষ্ট করে উল্লেখ করে ওভাররাইড করা যেতে পারে। অন্যান্য ক্লায়েন্টদের আলাদা আলাদা সেটিংস থাকতে পারে, আপনি যখন কোন শাখাটি ধাক্কা দিতে চান তা নির্দিষ্ট না করে কেবল তখনই এটি প্রভাবিত করে


16
এই পরিবর্তনটি জানতে পেরে আনন্দিত। যখন আমি গিটারে নতুন ছিলাম আমি দুর্ঘটনাক্রমে সমস্ত স্থানীয় git pushশাখাটিকে ধাক্কা দিয়ে ভেবেছিলাম যে কেবল বর্তমান শাখাটি ঠেলে দেবে।
rahul286

51
উদ্দেশ্যটি হ'ল, অভিজ্ঞতার সাথে, বেশিরভাগই নতুন ডিফল্ট আচরণের প্রত্যাশা করেন
ব্লেক মিলার

125
সতর্কবার্তা বার্তায় আপনার আশ্চর্যরূপে পরিষ্কার সংক্ষিপ্তসারটি থাকা অনেক ভাল হবে, নির্দেশটি ডকুমেন্টেশন খোলার জন্য এবং স্ট্রিং অনুসন্ধান করতে বলার চেয়ে বরং।
হার্টজস্প্রং

116
"এটি ডক্সগুলিতে খুব স্পষ্টভাবে ব্যাখ্যা করা হয়েছে" নিশ্চিত যে আপনি যদি ডান পৃষ্ঠায় এসে পৌঁছান তবে অবশ্যই গিট পুশের জন্য ম্যানুয়ালটিতে সরল শব্দের একটি উল্লেখ নেই , যা সম্ভবত এত লোকের পরিবর্তে এখানেই শেষ হয়েছিল ।
গেরি

36
হামার সংক্ষিপ্ত বিবরণ গিট ডক্সের চেয়ে অনেক বেশি সংক্ষিপ্ত ব্যাখ্যা।
এজে।

19

আমি বুঝতে পারি এটি একটি পুরানো পোস্ট তবে আমি ঠিক একই ইস্যুতে দৌড়েছি এবং উত্তরটি খুঁজে পেতে সমস্যা হচ্ছিল আমি ভেবেছিলাম আমি কিছুটা যুক্ত করব।

সুতরাং @ হামার উত্তরটি সঠিক। ব্যবহার push.default simpleকরা একরকম, আপনার শাখাগুলিতে ট্র্যাকিং কনফিগার করার মতো যাতে চাপ এবং টান দেওয়ার সময় আপনাকে রিমোট এবং শাখা নির্দিষ্ট করার প্রয়োজন হয় না। matchingবিকল্প দূরবর্তী ডিফল্ট তাদের সংশ্লিষ্ট প্রতিরূপ সব শাখা ধাক্কা হবে (যা প্রথম এক যে স্থাপন করা হয় যদি না আপনি আপনার রেপো অন্যথায় কনফিগার করেছেন যায়)।

ভবিষ্যতে অন্যরাও দরকারী বলে মনে করি একটি জিনিস হ'ল আমি ওএস এক্স মাউন্টেন লায়নটিতে গিট 1.8 চালাচ্ছিলাম এবং এই ত্রুটিটি কখনই দেখিনি। ম্যাভারিক্সে আপগ্রেড করা হঠাৎ এটি প্রদর্শিত হয়ে গেল (চলমান git --versionএটি দেখাবে git version 1.8.3.4 (Apple Git-47)যা OS এ আপডেট হওয়া পর্যন্ত আমি কখনই দেখিনি।


2
ম্যাভারিক্সে আপগ্রেড করার পরেও আমি এটি দেখতে শুরু করেছি। সুতরাং আমি অনুমান করি যে গিটটি একই সাথে ম্যাভারিক্সের মতো আপগ্রেড হয়েছিল, যেমন আপনি বোঝাচ্ছেন।
প্রতি লন্ডবার্গ

8

যদি আপনি গিট থেকে simpleকনফিগারেশনের মান সম্পর্কে অভিযোগ করে কোনও বার্তা পান তবে আপনার এটি পরীক্ষা করুন git version

আপগ্রেড করার পর XCode(ক উপর Macচলমান Mountain Lion, যা আপগ্রেড) gitথেকে 1.7.4.4 থেকে 1.8.3.4 , শাঁস শুরু করার আগে আপগ্রেড এখনও Git চলমান ছিল 1.7.4.4 এবং মান অভিযোগ simpleবিশ্বব্যাপী কনফিগ মধ্যে push.default জন্য।

সমাধানটি ছিল পুরানো সংস্করণটির পুরানো সংস্করণটি চালিত শেলগুলি বন্ধ gitকরে নতুন সংস্করণটি ব্যবহার করা!


13
: আমি ইনস্টল একটি তাজা Xcode ব্যবহার করছি (Git সংস্করণ 1.8.5.2 হয়) এবং আমি এখনও এই ত্রুটি চাপ ছিল না হওয়া পর্যন্ত আমি দৌড়েgit config --global push.default simple
স্যাম-গ্রাহাম

2

আমি ভাবছিলাম যে কেন আমি উবুন্টু ১.0.০৪ (যা গিট ২.7.৪ নিয়ে আসে) এ বড় সতর্কতা বার্তা পাচ্ছি, তবে আর্চ লিনাক্সে নয়। কারণটি হ'ল সতর্কতাটি গিট ২.৮ (মার্চ ২০১)) এ সরানো হয়েছে :

গিট সংস্করণ ২.০-এর আশপাশে রূপান্তর জুড়ে, ব্যবহারকারী পুশ.ডেফল্ট কনফিগারেশন ভেরিয়েবল সেট না করে "গিট পুশ" চালানোর সময় বেশ জোরে সতর্কতা পেতেন। আমরা আর সতর্কতা করি না কারণ স্থানান্তরটি অনেক আগেই সম্পন্ন হয়েছিল।

সুতরাং আপনি যদি সতর্কতাটি দেখতে পাচ্ছেন না যদি আপনার কাছে গিট ২.৮ থাকে এবং তারপরে এবং push.defaultযদি আপনি ডিফল্ট 'simple'আচরণ পরিবর্তন করতে না চান তবে সেট করার দরকার নেই ।

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