Próbuję zmienić polecenie polecenia w terminalu. Wciąż pojawia się błąd:
-bash: __git_ps1: command not found
Próbowałem go po prostu przez wpisanie jej do terminala jak: __git_ps1
. Próbowałem też tego w.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Jak możesz zobaczyć / powiedzieć, tak, mam zainstalowane automatyczne uzupełnianie i działa świetnie!
Natknąłem się na to pytanie: „ Zmienna env PS1 nie działa na komputerze Mac ”, co daje kod
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Dodaję to do mojej .bash_profile
nadziei, że coś to zmieni. No cóż. Właśnie zmieniło wyjście błędu.
Oto .bash_profile
z dodatkiem:
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
A teraz jest zmieniony wynik błędu:
sed: (%s): No such file or directory
Uwaga: przesunąłem również alias poniżej źródła, bez różnicy. Mam wersję git 1.7.12.1
To powinna być prosta zmiana. Czy ktoś może mi pomóc?
Edytuj 10/13/12
Nie, zdecydowanie nie chcę sam definiować __git_ps1, ale po prostu starałem się sprawdzić, czy można to rozpoznać. Tak, mam .git-completion.bash
plik zainstalowany. Oto jak mam automatyczne uzupełnianie na moim komputerze.
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
A ls -la
następnie wyświetla .git-completion.bash
plik.
Edytuj 10/13/12 - Rozwiązany przez Mark Longair (poniżej)
Poniższy kod działał dla mnie, .bash_profile
podczas gdy inni nie ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git-completion.bash
definiuje się__git_ps1
jako funkcję powłoki. Czy twoja Skąd wiesz, że ukończenie działa? Co się stanie, gdy wpiszeszgit h
<TAB>?git <tab>
zgodnie z zatwierdzeniem wymienionym przez Marka Longaira.Odpowiedzi:
Zainstalowałeś wersję
git-completion.bash
frommaster
- w historii programowania git dzieje się to po zatwierdzeniu, które podzieliło__git_ps1
funkcję z funkcji uzupełniania na nowy plik (git-prompt.sh
). Zatwierdzenie, które wprowadziło tę zmianę, która wyjaśnia uzasadnienie, to af31a456 .Nadal sugerowałbym, abyś po prostu zaopatrzył się w wersję
git-completion.bash
(lubgit-prompt.sh
) dołączoną do instalacji git.Jeśli jednak z jakiegoś powodu nadal chcesz korzystać z tej funkcji, używając skryptów pobranych osobno
master
, powinieneś pobraćgit-prompt.sh
podobnie:... i dodaj następujący wiersz do
~/.bash_profile
:Wtedy twoja
PS1
zmienna, która zawiera__git_ps1 '%s'
powinna działać dobrze.źródło
git-prompt.sh
igit-completion.bash
znajdują się w`brew --prefix git`/etc/bash_completion.d/
.git-core
został zastąpiony przezgit
, patrz to pytaniePo aktualizacji do OSX 10.9 Mavericks musiałem odwołać się do następujących plików, aby uzyskać zakończenie poleceń git shell i monit git do ponownego uruchomienia.
Z mojego .bash_profile lub podobnego:
źródło
~/.git_prompt.sh
. Inne rozwiązania nie działały.bash: __docker_machine_ps1: command not found
Powinieneś
$ brew zainstaluj bash bash-zakończeniu git
Następnie wpisz „$ (brew --prefix) / etc / bash_completion” w swoim .bashrc.
źródło
Poniższe działało dla mnie jak urok:
Uruchom następujące w swoim terminalu:
Otwórz / Utwórz profil bash:
Dodaj następujące do pliku:
Wreszcie, za pomocą:
To rozwiąże problem
bash: __git_ps1: command not found
.Również twój monit zmieni się na „os”. Aby zmienić „os” na coś innego, zmodyfikuj ciąg „os” w linii eksportu PS1.
źródło
Rozwiązanie dla MacOS Sierra i git w wersji 2.10.1 <2017-2-06>
Krok 1: Zainstaluj Git
Możesz pominąć ten krok, jeśli masz już zainstalowany najnowszy git.
Uwaga: jeśli instalujesz z
Weryfikacja instalacji:curl [option] https://...
opcją pobierania, musisz upewnić się, że Twój system obsługuje SSL. Tak więc dla nowego przybysza pobieranie z przeglądarki i instalacja bezpośrednio z git installera jest znacznie łatwiejsze.which git
git --version
bieżąca wersja powinna być 2.10.1.Krok 2: Dodaj swój profil git do powłoki
nano ~/.bash_profile
lubnano ~/.bashrc
Zależy od tego, gdzie jest twoja modyfikacja.source /usr/local/git/contrib/completion/git-completion.bash
source /usr/local/git/contrib/completion/git-prompt.sh
Uwaga: zmieniono lokalizację instalacji git z opt / directory na usr / local / po aktualizacji OSX do El Capitain, i dlatego niektóre z powyższych odpowiedzi nie działają już w MacOS Sierra.
Dodaj następujący kod do konfiguracji PS1:
Opcja 1: dodaj bezpośrednio do PS1:
Wolę to proste podejście, ponieważ już wiem, żeexport PS1='\w$(__git_ps1 "(%s)") > '
.git-completion.bash
jest ono w moim katalogu domowym i mogę dodać inny format zachęty z przodu. oto mój osobisty monit o odniesienie:export PS1='\t H#\! \u:\w$(__git_ps1 "{%s}") -->> '
Opcja 2: Dodaj skrypt wyboru
Zapisz i użyj profilu:
source ~/.bash_profile
lubsource ~/.bashrc
źródło
Miałem ten sam problem podczas aktualizacji do Yosemite.
Musiałem tylko zmienić
~/.bashrc
nasource /usr/local/etc/bash_completion.d/git-prompt.sh
zamiast starej ścieżki.następnie ponownie
. ~/.bashrc
zaopatrz się, aby uzyskać efekt.źródło
High Sierra czyste rozwiązanie z kolorami!
Brak pobierania. Bez naparu. Brak Xcode
Po prostu dodaj go do swojego ~ / .bashrc lub ~ / .bash_profile
źródło
__git_ps1 dla bash znajduje się teraz w git-prompt.sh w /usr/local/etc/bash_completion.d na moim napoju zainstalowanym git w wersji 1.8.1.5
źródło
działa to w OS 10.8 w .bash_profile
źródło
W przypadku Macports musiałem dodać:
source /opt/local/share/git-core/git-prompt.sh
do mojego ./profileźródło
touch ~/.profile
. Ale oczywiście trzeba plik w: /opt/local/share/git-core/git-prompt.shJeśli masz nadzieję, że użyjesz Homebrew do uaktualnienia Git i ogólnie pozwolisz, aby Twój system przestał być aktualny (tak jak ja), być może będziesz musiał najpierw zaktualizować sam Homebrew (zgodnie z aktualizacją naparu : Następujące nieśledzone pliki działającego drzewa zostałyby zastąpione przez scalenie: dzięki @ chris-frisina)
Najpierw dostosuj Homebrew do aktualnej wersji
Następnie zaktualizuj Git:
Problem rozwiązany! ;-)
źródło
Przynajmniej z Xcode 6 już masz
git-completion.bash
. Jest w pakiecie aplikacji Xcode.Po prostu dodaj to do swojego .bashrc:
źródło
Dodaj plik źródłowy do pliku .bash_profile
źródło
Wiem, że to nie jest prawdziwa odpowiedź ...
Miałem dziwne problemy z pozyskiwaniem git-prompt.sh w moim .bashrc, więc zacząłem szukać innego rozwiązania. Ten: http://www.jqno.nl/post/2012/04/02/howto-display-the-current-git-branch-in-your-prompt/ nie używa __git_ps1, a autor twierdzi, że działa również na Macu (na razie działa idealnie na moim Ubuntu i łatwo go ulepszyć).
Mam nadzieję, że to pomoże!
źródło
Robiłem kurs na Udacity dla git hub i miałem ten sam problem. Oto mój końcowy kod, który sprawia, że działa poprawnie.
To działa! https://i.stack.imgur.com/d0lvb.jpg
źródło
Ten działał dla mnie i ma kolorowe wyjście git oraz wskaźnik w pytaniu, czy pliki zostały zmienione / dodane, odpowiednio upieczone:
Pamiętaj, aby użyć prawidłowej ścieżki! Użyłem homebrew, aby zainstalować git, użyj,
brew list git
aby uzyskać ścieżkę do bieżącej instalacji.Byłoby miło nie używać twardej ścieżki, ale nie wiem, jak uzyskać ścieżkę do bieżącej instalacji.
Więcej informacji tutaj: http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-prompt/
źródło
Dla gita są
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh
. I proszę spojrzeć/etc/bashrc_Apple_Terminal
też .Więc umieszczam je w
~/.bash_profile
:źródło
bash: __docker_machine_ps1: command not found
Przedmowa: przepraszam, że nie skomentowałem odpowiedzi haysclarka i nie napisałem od nowa, po prostu za mało powtórzeń.
Proszę nie pamiętać, że jeśli nie zainstalowałeś git przez Xcode lub home-brew, prawdopodobnie znajdziesz skrypty bash, do których odwołuje się haysclarks w
/Library/Developer/CommandLineTools/
, a nie w/Applications/Xcode.app/Contents/Developer/
, dzięki czemu linie będą zawierać w .bashrc następujące elementy:Będziesz potrzebował tych linii, jeśli chcesz również użyć git-prompt.
źródło