Làm thế nào để bạn cài đặt hub (git Wrapper) trên Ubuntu với tài liệu tự động hoàn thành và tài liệu hướng dẫn làm việc?


19

Theo các tài liệu chính thức, bạn chỉ cần tải xuống một tệp nhị phân được biên dịch sẵn nhưng điều này sẽ khiến những thứ như mantài liệu và tự động hoàn thành không hoạt động.


Nếu bạn đã trả lời câu hỏi của mình, bạn có thể muốn chấp nhận bất kỳ câu trả lời nào.
Anwar

Câu trả lời:


16

Bạn có thể sử dụng PPA này để cài đặt hubdưới dạng gói:

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

Bạn có biết nếu điều này thiết lập tự động hoàn thành và bí danh git?
Bryce Drennan

@Bryce Dường như gói mới nhất (2.2.9-0ubfox0ppa1) chứa tập lệnh hoàn thành bash, nhưng không có tập lệnh hoặc tập lệnh cài đặt sau.
Eugene Yarmash

1
ppa: cpick / hub đã không được cập nhật trong nhiều năm và cung cấp một phiên bản trung tâm rất cũ
Mike Slinn

Thông tin cập nhật về cách thêm repo có chứa hub có thể được tìm thấy ở đây: github.com/github/hub/issues/718
Thomas David Baker


6

Cài đặt Hub

  1. Tải xuống Hub từ Github

    https://github.com/github/hub/release

  2. Giải nén nó Tôi đã trích xuất nó vào Apps/thư mục trong nhà của tôi và đổi tên thành hub-linux. Vì vậy, trong thiết lập của tôi, đường dẫn đầy đủ đến binthư mục là/home/anwar/Apps/hub-linux/bin

  3. Bây giờ hãy mở ~/.bashrctệp và thêm đường dẫn nhị phân trung tâm vào $PATHbiến môi trường. Thêm một dòng như dưới đây sẽ làm việc.

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

Đừng quên sử dụng đường dẫn thực tế trong thiết lập của bạn

Thêm hoàn thành Bash

Để thêm hoàn thành bash, chúng ta cần nói với bash để nguồn tệp hoàn thành đi kèm với kho lưu trữ trung tâm. Các tập tin hoàn thành là trong etcthư mục của thư mục trung tâm giải nén. Làm như vậy,

Mở .bashrcvà viết những dòng này

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

Đừng quên thay thế đường dẫn chính xác của hub.bash_completion.shtệp theo thiết lập của bạn

Bây giờ, bạn sẽ có thể sử dụng hoàn thành bash trung tâm

Thêm trang của Hub vào mancơ sở dữ liệu

Trang người đàn ông của Hub thực sự đi kèm với kho lưu trữ. Nó nằm trong sharethư mục. Để thêm manpage, chúng ta cần đặt nó trong thư mục trang man.

Để làm như vậy, Mở một thiết bị đầu cuối và cd vào kho lưu trữ trung tâm được trích xuất. Giả sử thư mục hiện tại của bạn là trong cùng thư mục nơi trung tâm của bin, share, README.mdcư trú, sử dụng lệnh này để sao chép manpage

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

Bây giờ bạn có thể sử dụng trang hướng dẫn của hub bằng man hublệnh.

Nếu bạn không thể sử dụng ngay lập tức man hub, hãy sử dụng sudo updatedbđể làm mới man db của hệ thống.


2

Kịch bản này sẽ thực hiện công việc trên Ubuntu 16.04 với 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

Ngoài ra, với Ubuntu 16.04 với 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

Kiểm tra cài đặt:

hub version

Tập lệnh bash của bạn chứa dòng echo "eval "$(hub alias -s)"" >> ~/.zshrc. Điều này trông giống như một điều zsh, không phải là một điều bash? (Tôi là một người mới * nix, vì vậy tôi biết gì)
Sam Axe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.