2014-04-08 4 views
5

git pull अक्षम करने का कोई तरीका है?क्या मैं गिट पुल अक्षम कर सकता हूं?

मैं या तो इसे काम नहीं करना चाहता हूं या कुछ भी नहीं करना चाहता, ताकि जब गलती से इसे टाइप किया जाए, तो इससे मुझे समस्याएं नहीं आतीं।

+0

इसके बजाय टाइप करने का क्या मतलब है? क्या आप वाकई गलती से लिखने वाले नहीं हैं कि नया आदेश खींचने के लिए क्या है? – user2357112

+0

क्या आपका ऑपरेटिंग सिस्टम लिनक्स है? –

+0

@ BartlomiejLewandowski मैक ओएस एक्स, हालांकि मैं एक समाधान पसंद करूंगा जो पूरी तरह से गिट क्षमताओं पर निर्भर करता है। –

उत्तर

6

चूंकि आप ओएसएक्स पर हैं, तो आप यह जांचने के लिए एक फ़ंक्शन लिख सकते हैं कि आपने गिट पुल टाइप किया है या नहीं।

यदि ऐसा है, तो यह एक संदेश प्रिंट करेगा, अन्यथा यह पैरामीटर के साथ गिट कॉल करेगा।

उदाहरण:

git() { if [[ [email protected] == "pull" ]]; then command echo "Cannot pull!"; else command git "[email protected]"; fi; } 
1

यह गिट में सीधे संभव नहीं है, क्योंकि गिट एलियास को अंतर्निहित कमांड को ओवरराइड करने की अनुमति नहीं है।

हालांकि, आप एक बैश फ़ंक्शन और उपनाम बना सकते हैं जो आपके गिट कमांड को प्रॉक्सी करता है और इसे संशोधित करता है। Steve Bennett gives a great example in this answer.

2

एक और तरीका है, अगर आप रूट अनुमतियों मिल गया है, किया जाएगा करने के लिए:

$ sudo chmod 000 /usr/lib/git-core/git-pull 

... या जहाँ भी फ़ाइल अपने एफएस में है। तब:

$ git pull 
fatal: cannot exec 'git-pull': Permission denied 
$ 

वैकल्पिक रूप से, आप इसे कुछ के साथ

#!/bin/sh 
echo "git-pull is disabled" 
exit 1 
0

की तर्ज मैं समस्याओं को आप संघर्ष है कि अगर आपके स्थानीय शाखा दूरदराज से अलग हो सकता है विलय कर रहे हैं का उल्लेख लगता है कि साथ बदल सकते थे। उस मामले में, Git config में pull.ff विकल्प सेट, इस तरह का प्रयास करें:

[pull] 
    ff = only 

यह Git बता ही है तेजी से आगे का आपस में विलय, जो न की गारंटी दी जाती संघर्ष में परिणाम की जाएगी।

संबंधित मुद्दे