मैं टर्मिनल में अपने कमांड प्रोम को बदलने की कोशिश कर रहा हूं। मैं त्रुटि प्राप्त करता रहता हूं:
-bash: __git_ps1: command not found
मैं बस के रूप में टर्मिनल में यह लिखकर यह कोशिश की है: __git_ps1। मैं भी इसे बाहर की कोशिश की है.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
जैसा कि आप देखने / बताने में सक्षम हो सकते हैं, हां, मेरे पास स्वतः पूर्णता स्थापित है और यह बहुत अच्छा काम करता है!
मुझे यह सवाल आया: " PS1 env चर मैक पर काम नहीं करता है " जो कोड देता है
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
इसलिए मैं इसे अपनी .bash_profileउम्मीद से जोड़ता हूं कि यह कुछ बदलेगा। खैर, यह किया है। यह सिर्फ त्रुटि आउटपुट बदल गया।
यहाँ .bash_profileइसके अलावा है:
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
और अब यहाँ परिवर्तित त्रुटि आउटपुट है:
sed: (%s): No such file or directory
नोट: मैं भी कोई अंतर नहीं के साथ स्रोत के नीचे उपनाम ले जाया गया है। मेरा git संस्करण 1.7.12.1 है
यह एक साधारण बदलाव होना चाहिए। क्या कोई मेरी सहायता कर सकता है?
संपादित करें 10/13/12
नहीं, मैं निश्चित रूप से स्वयं __git_ps1 को परिभाषित नहीं करना चाहता हूं, लेकिन यह देखने की कोशिश कर रहा हूं कि क्या ऐसा करने से इसे मान्यता दी जाएगी। हां, मेरे पास .git-completion.bashफाइल इंस्टॉल है। यहां बताया गया है कि मैंने अपनी मशीन पर ऑटो कैसे पूरा किया।
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
एक ls -laतो सूचीबद्ध करता है .git-completion.bashफ़ाइल।
संपादित करें 10/13/12 - मार्क लोंगेयर (नीचे) द्वारा हल
निम्नलिखित कोड ने मेरे लिए काम किया .bash_profileजबकि अन्य में नहीं ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git <tab>जैसा कि मार्क लॉन्गेयर द्वारा संदर्भित प्रतिबद्ध में दिया गया है।
git-completion.bashपरिभाषित करता है__git_ps1। तुम्हारा है? आप कैसे जानते हैं कि काम पूरा हो रहा है? जब आप टाइप करते हैं तो क्या होता हैgit h<TAB>?