среда, 24 априла, 2024
Сам свој мајстор

Hub

Аутор: Златан Васовић

Hub је конзолни алат написан у Ruby-ју који служи за проширивање команди Git-а и њихово усклађивање са GitHub-ом. Заправо, hub је бесмислен без GitHub-а. Назив алата је осмишљен према формули git + hub = github. Интересантно је да је главни програмер hub-а Мислав Марохнић, пореклом из Хрватске.

Hub вам омогућава да једноставније довучете (енгл. fetch), „форкујете” (fork) и претражујете складишта програмских пакета, па чак и да направите pull request. Ипак, недостаје једна битна могућност — означавање складишта програмских пакета помоћу star-a.

За hub су потребни Git (верзије 1.7.3 или новији) и Ruby (верзије 1.8.6 или новији). Већину проблема је могуће решити читањем и извршавањем инструкција из README-а, или из упутстава (линкови се налазе на крају текста).

Инсталација и подешавање

На GNU/Linux системима је довољно преузети hub као скрипту. Скрипту морамо додати у неку фасциклу која се налази у $PATH-у. За пример ћемо узети ~/bin.

$ curl http://hub.github.com/standalone -sLo ~/bin/hub
$ chmod +x ~/bin/hub

На OS X-у, hub можете инсталирати помоћу Homebrew-а.

$ brew install hub

Не препоручује се инсталација hub-а као RubyGem-а. Објашњење се налази на адреси https://gist.github.com/defunkt/284823 .

Како не бисмо користили команду hub уместо команде git на коју смо навикли, направићемо alias. Додајемо следеће у ~/.bashrc:

alias git=hub

Након тога проверавамо да ли је alias заиста присутан.

$ git version

Alias ради ако је излаз команде:

git version n.n.n
hub version n.n.n

Сва подешавања су слична као у основном Git-у, само што постоји и [hub] секција у .gitconfig-у. Пример hub. конфигурације:

$ git config --global hub.protocol https

Додаци

Hub поседује додатке за аутоматско завршавање помоћу табулатора.

За Bash

https://github.com/github/hub/blob/master/etc/hub.bash_completion.sh

За Zsh

https://github.com/github/hub/blob/master/etc/hub.bash_completion.sh

Корисни линкови:

[1] http://hub.github.com/

[2] https://github.com/github/hub

[3] http://hub.github.com/hub.1.html