Jak zainstalować hub (git wrapper) na Ubuntu z działającą autouzupełnianiem i dokumentacją man?


19

Według oficjalnych dokumentów po prostu pobierasz wstępnie skompilowane pliki binarne, ale mannie działałoby to z dokumentacją i autouzupełnianiem.


Jeśli odpowiedziałeś na swoje pytanie, możesz zaakceptować dowolną z odpowiedzi.
Anwar

Odpowiedzi:


16

Możesz użyć tego PPA, aby zainstalować hubjako pakiet:

sudo add-apt-repository ppa:cpick/hub
sudo apt-get update
sudo apt-get install hub

Czy wiesz, czy to ustawia autouzupełnianie i alias git?
Bryce Drennan,

@Bryce Wygląda na to, że najnowszy pakiet (2.2.9-0ubuntu0ppa1) zawiera skrypt ukończenia bash, ale nie ma stron podręcznika ani skryptów poinstalacyjnych.
Eugene Yarmash,

1
ppa: cpick / hub nie był aktualizowany od lat i zapewnia bardzo starą wersję hub
Mike Slinn

Więcej aktualnych informacji na temat dodawania repozytorium zawierającego hub można znaleźć tutaj: github.com/github/hub/issues/718
Thomas David Baker


6

Zainstaluj Hub

  1. Pobierz Hub z Github

    https://github.com/github/hub/releases

  2. Wyodrębnij to. Wyodrębniłem go do Apps/katalogu w moim domu i zmieniłem jego nazwę na hub-linux. Tak więc w mojej konfiguracji pełna ścieżka do binfolderu to/home/anwar/Apps/hub-linux/bin

  3. Teraz otwórz ~/.bashrcplik i dodaj ścieżkę binarną koncentratora do $PATHzmiennej środowiskowej. Dodanie linii jak poniżej będzie działać.

    ### Adds Hub-linux
    export PATH="$PATH:$HOME/Apps/hub-linux/bin/"

Nie zapomnij użyć rzeczywistej ścieżki w konfiguracji

Dodaj Bash Completion

Aby dodać zakończenie bash, musimy poinformować bash, aby źródłowy plik ukończenia został dostarczony z hub-archive. Plik zakończenia znajduje się w etcfolderze wyodrębnionego folderu koncentratora. Aby to zrobić,

Otwórz .bashrci napisz tam te wiersze

### Load Hub Linux bash completion
if [ -f $HOME/Apps/hub-linux/etc/hub.bash_completion.sh ] ; then
     . $HOME/Apps/hub-linux/etc/hub.bash_completion.sh
fi

Nie zapomnij zastąpić dokładnej ścieżki hub.bash_completion.shpliku zgodnie z konfiguracją

Teraz powinieneś być w stanie korzystać z uzupełniania hub hub

Dodaj stronę Hubu do manbazy danych

Strona podręcznika Hub faktycznie przyszła z archiwum. Jest w sharefolderze. Aby dodać stronę podręcznika, musimy umieścić ją w katalogu stron podręcznika.

Aby to zrobić, otwórz terminal i cd do wyodrębnionego archiwum koncentratora. Zakładając, że aktualny katalog jest w tym samym katalogu, w którym piasta na bin, share, README.mdzamieszkują, użyć tego polecenia, aby skopiować manpage

sudo cp -r share/ /usr/
sudo chmod 644 /usr/share/man/man1/hub.1

Teraz możesz użyć strony podręcznika koncentratora za pomocą man hubpolecenia.

Jeśli nie możesz od razu użyć man hub, użyj sudo updatedbdo odświeżenia man db systemu.


2

Ten skrypt powinien wykonać zadanie na Ubuntu 16.04 z zsh.

# Install binary and documentation
wget https://github.com/github/hub/releases/download/v2.2.9/hub-linux-amd64-2.2.9.tgz
tar zvxvf hub-linux-amd64-2.2.9.tgz
sudo ./hub-linux-amd64-2.2.9/install

# Setup autocomplete for zsh:
mkdir -p ~/.zsh/completions
mv ./hub-linux-amd64-2.2.9/etc/hub.zsh_completion ~/.zsh/completions/_hub
echo "fpath=(~/.zsh/completions $fpath)" >> ~/.zshrc
echo "autoload -U compinit && compinit" >> ~/.zshrc

# add alias
echo "eval "$(hub alias -s)"" >> ~/.zshrc

# Cleanup
rm -rf hub-linux-amd64-2.2.9

Alternatywnie dla Ubuntu 16.04 z bash:

# Install binary and documentation
wget https://github.com/github/hub/releases/download/v2.2.9/hub-linux-amd64-2.2.9.tgz
tar zvxvf hub-linux-amd64-2.2.9.tgz
sudo ./hub-linux-amd64-2.2.9/install

# Setup autocomplete for bash:
mkdir -p ~/.bash/completions
mv ./hub-linux-amd64-2.2.9/etc/hub.bash_completion.sh ~/.bash/completions/_hub
echo "if [ -f ~/.bash/completions/_hub ]; then" >> ~/.bashrc
echo "    . ~/.bash/completions/_hub" >> ~/.bashrc
echo "fi" >> ~/.bashrc

# add alias
echo "eval "$(hub alias -s)"" >> ~/.bashrc

# Cleanup
rm -rf hub-linux-amd64-2.2.9

Instalacja testowa:

hub version

Twój skrypt bash zawiera wiersz echo "eval "$(hub alias -s)"" >> ~/.zshrc. To wygląda na zsh, a nie na bash? (Jestem nowicjuszem * nix, więc co wiem)
Sam Axe
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.