자동 완성 및 매뉴얼 문서가 작동하면서 Ubuntu에 허브 (git wrapper)를 어떻게 설치합니까?


19

공식 문서 에 따르면 사전 컴파일 된 바이너리를 다운로드하지만 man문서 및 자동 완성과 같은 기능은 작동하지 않습니다.


귀하의 질문에 답변 한 경우 답변을 수락 할 수 있습니다.
Anwar

답변:


16

PPA 를 사용 hub하여 패키지 로 설치할 수 있습니다 .

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

이것이 자동 완성과 자식 별칭을 설정하는지 알고 있습니까?
브라이스 드 렌넌

@Bryce 최신 패키지 (2.2.9-0ubuntu0ppa1)에 bash 완성 스크립트가 포함되어 있지만 맨 페이지 나 사후 설치 스크립트는 없습니다.
Eugene Yarmash

1
ppa : cpick / hub는 몇 년 안에 업데이트되지 않았으며 아주 오래된 허브 버전을 제공합니다
Mike Slinn

허브가 포함 된 저장소를 추가하는 방법에 대한 최신 정보는 github.com/github/hub/issues/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에게 완성 파일을 허브 아카이브와 함께 제공하도록 지시해야합니다. 완료 파일은 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설정에 따라 정확한 파일 경로를 바꾸는 것을 잊지 마십시오

이제 허브 bash 완성을 사용할 수 있습니다

man데이터베이스에 허브 맨 페이지 추가

허브의 매뉴얼 페이지는 실제로 아카이브와 함께 제공됩니다. 그것은에서의 share폴더. 맨 페이지를 추가하려면 맨 페이지 디렉토리에 맨 페이지를 넣어야합니다.

이렇게하려면 터미널을 열고 추출 된 허브 아카이브로 cd하십시오. 현재 디렉토리를 가정하면 허브의이 같은 디렉토리에 bin, share, README.md상주는, 맨 페이지를 복사하려면이 명령을 사용하여

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

이제 man hub명령을 사용하여 허브 매뉴얼 페이지를 사용할 수 있습니다 .

즉시 사용할 수없는 경우 man hub, 사용하는 sudo updatedb시스템의 남자 DB를 새로 고칩니다.


2

이 스크립트는 zsh를 사용하여 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 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

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

테스트 설치 :

hub version

bash 스크립트에는 줄이 포함되어 있습니다 echo "eval "$(hub alias -s)"" >> ~/.zshrc. 이것은 bash 일이 아닌 zsh 일 것 같습니다? (저는 * nix 초보자이므로 알아야 할 사항)
Sam Ax
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.