2011-09-05 9 views
6

मैं अपने बैश शीघ्र हैक कर लिया गया है (सिद्धांत में) मुझे बताओ कि Git शाखा मैं वर्तमान में कर रहा हूँ लेकिन उत्पादन इंगित करता है कि कुछ के गलत:।

22:07 (seesaw|REBASE-i) infwb $git branch 
* master 
    wkg 

यहाँ मेरी .bash_profile फ़ाइल में प्रासंगिक कोड है (मैं इस सवाल के अंत) में इसका एक बड़ा chunck डाल देता हूँ:

PS1="$GRAY\$(date +%H:%M)\$(__git_ps1) $GREEN\W$YELLOW \$" 

आप देख सकते हैं, $(__git_ps1) रिटर्न (seesaw|REBASE-i), भले ही मैं अब एक झूला शाखा है! (मैं एक था, और यह GitHub पर मेरे दूरस्थ झूला शाखा के संबंध में एक रिबेस समस्या थी। मैं समस्या हल हो, मुझे लगता है, और git branch -r seesaw सफलतापूर्वक स्थानीय प्रतिलिपि हटा दिया।)

मैं यकीन है कि (seesaw|REBASE-i) कि कर रहा हूँ मुझे बता रहा है कि कुछ गलत है, लेकिन मुझे नहीं पता कि यह क्या है।

आपके सुझावों के लिए धन्यवाद। (.bash_profile का हिस्सा इस प्रकार)

-------from .bash_profile --------- 

## ----- from http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-prompt/ 
# Set git autocompletion and PS1 integration 
if [ -f /usr/local/git/contrib/completion/git-completion.bash ]; then 
    . /usr/local/git/contrib/completion/git-completion.bash 
fi 

if [ -f /opt/local/etc/bash_completion ]; then 
    . /opt/local/etc/bash_completion 
fi 
## ----- end 

GRAY="\[\033[1;30m\]" 
YELLOW="\[\033[1;33m\]" 
GREEN="\[\033[0;32m\]" 

PS1="$GRAY\$(date +%H:%M)\$(__git_ps1) $GREEN\W$YELLOW \$" 

---------------- 

परिशिष्ट

@cdhowie और @manojlds, मैं अपना Git ज्ञान से प्रभावित हूँ!

git rebase --abort जानकारी को (seesaw) पर बदलने का कारण बन गया। दुर्भाग्यवश, मुझे अपनी हार्ड डिस्क पर कहीं भी rebase-merge (या .git) नहीं मिल रहा है। मैं मैक पर हूं, जो कई फोस टूल्स के लिए अजीब चीजें करता है। (मुझे/usr/local/git पर गिट खुद मिल गया।)/लाइब्रेरी/एप्लिकेशन सपोर्ट या ~ // लाइब्रेरी/एप्लिकेशन सपोर्ट पर कुछ भी नहीं।

(अभी भी बाद में)

ऐसा लगता है कि सब कुछ ठीक है। किसी भी तरह git rebase --abort ने देखा शाखा को फिर से दिखाना पड़ा (मुझे इसकी उम्मीद नहीं थी!), और कमांड ने मुझे मेरी वर्तमान शाखा के रूप में देखा। वहां से, मुझे पता था कि क्या करना है।

+0

एक नया रेपो के बारे में क्या? – manojlds

+0

'git rebase --abort' आज़माएं? ऐसा लगता है कि यह सोचता है कि आप एक रिबेस के बीच में हैं। – cdhowie

+0

@cdhowie - तब शाखा 'शाखा नहीं' – manojlds

उत्तर

4

@cdhowie के साथ टिप्पणियों के आधार पर, मुझे संदेह हुआ कि __git_ps1 गिट रिबेस परिदृश्य को अलग-अलग प्रबंधित कर रहा है। इसलिए मैं स्रोत में देखा और पाया निम्नलिखित लाइनों:

... 
if [ -f "$g/rebase-merge/interactive" ]; then 
    r="|REBASE-i" 
    b="$(cat "$g/rebase-merge/head-name")" 
elif [ -d "$g/rebase-merge" ]; then 
    r="|REBASE-m" 
    b="$(cat "$g/rebase-merge/head-name")" 
... 

अतः जब तक की .git/rebase-merge मौजूद है आप "गलत" शाखा हो रही होगी, भले ही आप किसी अन्य शाखा में स्थानांतरित कर दिया है।

git rebase --abort इसे ठीक करेगा। या हटाएं .git/rebase-merge

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