Як встановити концентратор (git wrapper) на Ubuntu з автозаповненням та роботою документації man?


19

Згідно з офіційними документами, ви просто завантажуєте попередньо складений двійковий файл, але це може призвести до того, що manдокументація та автодоповнення не працюватимуть.


Якщо ви відповіли на своє запитання, ви можете прийняти будь-яку відповідь.
Анвар

Відповіді:


16

Ви можете використовувати цей PPA для встановлення hubяк пакет:

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

Чи знаєте ви, чи це налаштовує автозавершення та псевдонім git?
Брайс Дреннан

@Bryce Схоже, останній пакет (2.2.9-0ubuntu0ppa1) містить скрипт завершення файлу, але немає вказівок або сценаріїв після встановлення.
Євген Ярмаш

1
ppa: cpick / hub не оновлювався роками і надає дуже стару версію центру
Майк Слінн

Більш актуальну інформацію про те, як додати репо, що містить центр, можна знайти тут: github.com/github/hub/isissue/718
Thomas David Baker


6

Встановити концентратор

  1. Завантажте Хаб від Github

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

  2. Витягніть його. Я добув його до Apps/каталогу в своєму будинку і перейменував його в hub-linux. Отже, у моїй установці є повний шлях до binпапки/home/anwar/Apps/hub-linux/bin

  3. Тепер відкрийте ~/.bashrcфайл і додайте бінарний шлях концентратора до $PATHзмінної середовища. Додавання рядка, як показано нижче, спрацює.

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

Не забудьте використовувати фактичний шлях у вашому налаштуванні

Додайте завершення Bash

Щоб додати завершення bash, нам потрібно повідомити bash в джерело файлу завершення, який надходить із архівом hub. Файл завершення знаходиться в etcпапці вилученої папки концентратора. Робити так,

Відкрийте .bashrcі запишіть там ці рядки

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

Не забудьте замінити точний шлях hub.bash_completion.shфайлу відповідно до вашої настройки

Тепер ви маєте можливість використовувати завершення на базі концентратора

Додайте сторінку manбази Hub до бази даних

Сторінка людини Hub насправді прийшла з архівом. Це в shareпапці. Щоб додати manpage, нам потрібно помістити її в каталог man man.

Для цього відкрийте термінал і перейдіть до архіву концентратора. Припустимо , що ваш поточний каталог знаходиться в тому ж каталозі , де хаба bin, share, README.mdпроживають, використовувати цю команду , щоб скопіювати довідкову сторінку

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

Тепер ви можете використовувати сторінку керівництва центру, використовуючи man hubкоманду.

Якщо ви не можете відразу використовувати man hub, використовуйте sudo updatedbдля оновлення man db системи.


2

Цей скрипт повинен виконати роботу на Ubuntu 16.04 за допомогою 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

Як варіант для Ubuntu 16.04 з 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

Тестова установка:

hub version

Ваш bash скрипт містить рядок echo "eval "$(hub alias -s)"" >> ~/.zshrc. Це схоже на річ zsh, а не на штучку? (Я новачок * nix, так що я знаю)
Сем Ax
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.