您如何在 Ubuntu 上安装集线器(git 包装器)并使用自动完成和手动文档工作?

Bry*_*nan 20 git github software-installation

根据官方文档,您只需下载预编译的二进制文件,但这会使man文档和自动完成等功能无法正常工作。

小智 18

您可以使用此PPAhub作为软件包安装:

sudo add-apt-repository ppa:cpick/hub
sudo apt-get update
sudo apt-get install hub
Run Code Online (Sandbox Code Playgroud)


Max*_*lle 9

更新答案

正如 PatKilg 在评论中指出的那样,Hub 维护者现在不鼓励使用 snap。

原答案

集线器现在可以快速使用。https://snapcraft.io/hub

您可以使用sudo snap install --classic hub.


Anw*_*war 6

安装集线器

  1. 从 Github 下载 Hub

    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/"
Run Code Online (Sandbox Code Playgroud)

不要忘记在设置中使用实际路径

添加 Bash 完成

要添加 bash 补全,我们需要告诉 bash 获取 hub-archive 附带的补全文件。完成文件位于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
Run Code Online (Sandbox Code Playgroud)

不要忘记hub.bash_completion.sh根据您的设置替换文件的确切路径

现在,您应该可以使用 hub bash 补全

将 Hub 的联机帮助页添加到man数据库

Hub 的手册页实际上随存档一起提供。它在share文件夹中。要添加手册页,我们需要将其放在手册页目录中。

为此,打开终端并 cd 到提取的集线器存档。假设您的当前目录位于 hub 的bin, share,README.md所在的同一目录中,请使用此命令复制联机帮助页

sudo cp -r share/ /usr/
sudo chmod 644 /usr/share/man/man1/hub.1
Run Code Online (Sandbox Code Playgroud)

现在您可以使用man hub命令使用集线器的手册页。

如果您不能立即使用man hub,请使用sudo updatedb刷新系统的 man db。


Bry*_*nan 3

该脚本应该可以在 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
Run Code Online (Sandbox Code Playgroud)

或者对于带有 bash 的 Ubuntu 16.04:

# 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
Run Code Online (Sandbox Code Playgroud)

测试安装:

hub version
Run Code Online (Sandbox Code Playgroud)