2012-06-23 18 views
26

Mam wersję Gita (wersja 1.7.2.5) działającą na moim systemie Debian squeeze (6.0). Git został zainstalowany z aptitude i używam standardowego debiana bash, który obsługuje autouzupełnianie wiersza poleceń.Jak mogę skonfigurować autouzupełnianie dla poleceń Git?

Właśnie zainstalowałem Git (1.5.6.5) na innym komputerze (Lenny/Debian 5.0) i nie ma autouzupełniania.

  1. Dlaczego autouzupełnianie Git nie działa na drugim komputerze? Jak mam to zdiagnozować?

  2. Co kończy się na moim komputerze? Szukałem pliku git-completion.bash, ale wydaje mi się, że nie ma go na moim komputerze. Jak działa Git w ogóle?

  3. Jak mogę wprowadzić Git do drugiej maszyny?

+0

to * może * być bardziej odpowiednie dla zapytania albo [serverfault.com] (http://serverfault.com) lub [unix.stackexchange.com] (http : //unix.stackexchange.com) – poncha

+0

Upewnij się, że skompilowałeś git z autouzupełnianiem, jeśli skompilowałeś go ze źródła. Upewnij się również, że używasz tej samej powłoki co na starym komputerze i że obsługuje ona automatyczne uzupełnianie. Jak widać, nie jestem pewien, co jest przyczyną tego, więc zostawiam to jako komentarz. Prawdopodobnie jest to albo twoja powłoka nie zapewniająca ukończenia, albo nie instaluje poprawnie zakończenia. Powodzenia. –

+0

@poncha thanks. Będę pisać ponownie na unix.stackexchange.com – redochka

Odpowiedz

26

Musisz włączyć source /etc/bash_completion.d/git, aby włączyć autouzupełnianie git.

W moim .bashrc to się robi z:

for file in /etc/bash_completion.d/* ; do 
    source "$file" 
done 
+2

To nie działało dla mnie, ponieważ niektóre skrypty kończące w '/ etc/bash_completion.d /' używały funkcji pomocniczych zdefiniowanych w 'bash_completion'. – joelpet

+0

To działa dla CentOS 7, ponieważ nie ma pliku '/ etc/bash_completion'. – Walf

38

umieścić następujące wiersze w ~/.bashrc

if [ -f /etc/bash_completion ]; then 
    . /etc/bash_completion 
fi 

skryptu/programu /etc/bash_completion zawiera już skrypty w /etc/bash_completion.d a także definiuje pewne funkcje potrzebne zawarte skrypty.

+2

W moim systemie Fedora 20 'bash_completion' znajduje się w'/usr/share/bash-completion/'. Uruchomienie 'updatedb && zlokalizuj bash_completion' powinno pomóc ci go znaleźć. – joelpet

+1

To również rozwiązało mój problem "brak polecenia" "znaleziono". Funkcja "have" jest zdefiniowana w/etc/bash_completion, a wiele skryptów w /etc/bash_completion.d/ zależy od tego. – jdunk

11

Najkrótsza droga do aktywowania bash autouzupełnianie dla Git na Debianie jest dodanie

source /etc/bash_completion.d/git 

do ~/.bashrc (i ponownie uruchomić terminal).

Zobacz również tutaj: "Pro Git" -> 2,7 Git Basics - Wskazówki i triki ->Auto-Completion.

0

Użyj Notepad ++, aby edytować plik ~/.bashrc. Umieść linię na dole skryptu z # na początku wiersza. Zapisz plik. Na przykład: # źródło C: \ cygwin64/etc/bash_completion.d/git

Nie zapomnij umieścić całej ścieżki pliku po 'source' i przed '/ etc /' Na przykład mój cygwin64 Folder zawierający „etc” folderu jest w moim dysku C więc moja ścieżka do pliku c: \ cygwin64/etc dlatego linia I zawarte w moim pliku bashrc jest:

# source c:\cygwin64/etc/bash_completion.d/git 

Zapisz plik .bashrc. Otwórz terminal Cygwin ... Bum! Czas na to. Następnie wprowadziłem następujące polecenie i zadziałało. git clone git:\/\/github.com/magnumripper/JohnTheRipper -b bleeding-jumbo JtR-Bleeding

+3

pytanie dotyczy debiana, nie okien – oromoiluig

7

Musisz zainstalować ten pakiet, jeśli go nie masz. A następnie wyloguj się i zaloguj.

apt-get install bash-completion 
0

Czasami autouzupełnianie git znika, ponieważ przypadkowo usunąłeś plik ~/.bashrc. Sprawdź, czy plik bashrc znajduje się w twoim katalogu domowym.Jeśli nie, zawsze można skopiować z:

/etc/skel/.bashrc 
Powiązane problemy