Come si installa hub (git wrapper) su Ubuntu con il completamento automatico e la documentazione man funzionante?


19

Secondo i documenti ufficiali , basta scaricare un file binario precompilato, ma ciò non farebbe cose come la mandocumentazione e il completamento automatico non funzionanti.


Se hai risposto alla tua domanda, potresti voler accettare qualcuno delle risposte.
Anwar,

Risposte:


16

È possibile utilizzare questo PPA per l'installazione hubcome pacchetto:

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

Sai se questo imposta il completamento automatico e l'alias git?
Bryce Drennan,

@Bryce Sembra che l'ultimo pacchetto (2.2.9-0ubuntu0ppa1) contenga uno script di completamento bash, ma nessun manpage o script postinstall.
Eugene Yarmash,

1
ppa: cpick / hub non è stato aggiornato da anni e fornisce una versione molto vecchia di hub
Mike Slinn

Informazioni più aggiornate su come aggiungere un repository che contiene hub sono disponibili qui: github.com/github/hub/issues/718
Thomas David Baker


6

Installa Hub

  1. Scarica Hub da Github

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

  2. Estrai. L'ho estratto nella Apps/directory di casa mia e l'ho rinominato in hub-linux. Quindi, nella mia configurazione, il percorso completo della bincartella è/home/anwar/Apps/hub-linux/bin

  3. Ora apri il ~/.bashrcfile e aggiungi il percorso binario dell'hub alla $PATHvariabile d'ambiente. L'aggiunta di una riga come di seguito funzionerà.

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

Non dimenticare di utilizzare il percorso effettivo nella configurazione

Aggiungi il completamento Bash

Per aggiungere il completamento bash, dobbiamo dire a bash di eseguire il sorgente del file di completamento fornito con hub-archive. Il file di completamento si trova nella etccartella della cartella hub estratta. Fare così,

Apri .bashrce scrivi lì queste righe

### 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

Non dimenticare di sostituire il percorso esatto del hub.bash_completion.shfile in base alla tua configurazione

Ora dovresti essere in grado di utilizzare il completamento della bash hub

Aggiungi la manpage di Hub al mandatabase

La pagina man di Hub in realtà è arrivata con l'archivio. È nella sharecartella. Per aggiungere la manpage, dobbiamo inserirla nella directory della man page.

Per fare ciò, aprire un terminale e cd nell'archivio hub estratto. Supponendo che la directory corrente si trova nella stessa directory in cui l'hub di bin, share, README.mdrisiedono, utilizzare questo comando per copiare la pagina man

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

Ora puoi usare la pagina del manuale dell'hub usando il man hubcomando.

Se non è possibile utilizzare immediatamente man hub, utilizzare sudo updatedbper aggiornare man db del sistema.


2

Questo script dovrebbe fare il lavoro su Ubuntu 16.04 con 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

In alternativa per Ubuntu 16.04 con 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

Test di installazione:

hub version

Il tuo script bash contiene la riga echo "eval "$(hub alias -s)"" >> ~/.zshrc. Sembra una cosa zsh, non una cosa bash? (Sono un principiante * nix, quindi cosa ne so)
Sam Axe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.