Otomatik tamamlama ve insan belgeleri çalışarak Ubuntu'ya hub'ı (git sarmalayıcı) nasıl yüklersiniz?


19

Resmi dokümanlara göre, önceden derlenmiş bir ikili dosya indirirsiniz, ancak bu mandokümantasyon ve otomatik tamamlama gibi şeylerin çalışmamasına neden olur.


Sorunuzu cevapladıysanız, cevaplardan herhangi birini kabul etmek isteyebilirsiniz.
Anwar

Yanıtlar:


16

Bu PPA'yıhub paket olarak yüklemek için kullanabilirsiniz :

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

Bunun otomatik tamamlamayı ve git takma adını oluşturup oluşturmadığını biliyor musunuz?
Bryce Drennan

@Bryce En son paket (2.2.9-0ubuntu0ppa1) bir bash tamamlama komut dosyası içeriyor gibi görünüyor, ancak yönetim veya yükleme sonrası komut dosyaları yok.
Eugene Yarmash

1
ppa: cpick / hub yıllar içinde güncellenmedi ve hub'ın çok eski bir sürümünü sunuyor
Mike Slinn

Hub içeren bir repo ekleme hakkında daha güncel bilgiler burada bulunabilir: github.com/github/hub/issues/718
Thomas David Baker


6

Hub'ı Yükle

  1. Github'dan Hub indirin

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

  2. Çıkarın. Evimdeki Apps/dizine çıkardım ve adını değiştirdim hub-linux. Yani, kurulumumda, binklasörün tam yolu/home/anwar/Apps/hub-linux/bin

  3. Şimdi ~/.bashrcdosyayı açın ve hub $PATHdeğişken yolunu ortam değişkenine ekleyin . Aşağıdaki gibi bir çizgi eklemek işe yarayacaktır.

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

Kurulumunuzda gerçek yolu kullanmayı unutmayın

Bash Tamamlamasını Ekle

Bash tamamlama eklemek için bash'a hub-arşivle gelen tamamlama dosyasını kaynaklamasını söylemeliyiz. Tamamlama dosyası, etcayıklanan hub klasörünün klasöründedir. Böyle yaparak,

.bashrcve bu satırları buraya yaz

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

Tam hub.bash_completion.shdosya yolunu kurulumunuza göre değiştirmeyi unutmayın

Şimdi, hub bash tamamlamayı kullanabilmelisiniz

Hub'ın man sayfasını manveritabanına ekle

Hub'ın man sayfası aslında arşivle birlikte geldi. Bu öyle shareklasörde. Manpage'i eklemek için, man page dizinine koymamız gerekir.

Bunu yapmak için, çıkarılan hub arşivine bir terminal ve cd açın. Geçerli dizini varsayarsak göbek en dizinde aynı zamanda bin, share, README.mdikamet, manpage kopyalamak için bu komutu kullanın

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

Artık hub'ın manuel sayfasını man hubkomutunu kullanarak kullanabilirsiniz .

Hemen kullanamıyorsanız man hub, sudo updatedbsistemin insan db'sini yenilemek için kullanın .


2

Bu komut dosyası Ubuntu 16.04'te zsh ile iş yapmalıdır.

# 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

Alternatif olarak bash ile Ubuntu 16.04 için:

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

hub version

Bash betiğiniz satırı içerir echo "eval "$(hub alias -s)"" >> ~/.zshrc. Bu zsh gibi görünüyor, bash değil mi? (Ben bir * nix acemi değilim, bu yüzden ne biliyorum)
Sam Axe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.