Github 프로젝트의 파일 작업에 대한 모범 사례

Github 프로젝트의 파일 작업에 대한 모범 사례

gem install tmuxinator저는 프로젝트의 github 설치 지침을 통해 설치된 tmuxinator ruby ​​​​gem을 사용하고 있습니다 .

tmuxinator 링크

설치 지침의 일부로 저장소에서 "전체" 파일을 다운로드하고 셸 rc 파일에서 해당 파일에 연결하도록 지정합니다.

내 문제: 프로젝트를 Ruby gem으로 설치할 때 Github 저장소를 복제하는 대신 필요한 파일만 다운로드하면 업데이트되지 않습니다. 저장소를 복제하고 zshrc에서 해당 위치를 가리키는 어딘가에 저장해야 합니까?

사람들이 모범 사례나 일반적인 접근 방식을 갖고 있습니까? 그렇지 않으면 파일을 업데이트하지 않거나 이 방식으로 작업하려면 모든 프로젝트 저장소를 복제해야 합니까?

답변1

이것은 당신이 추구하는 것을 성취할 zsh것 입니다 bash.

gem clean이전 버전을 삭제 하면 다음에 코드를 실행할 때(즉, 다음 번에 셸이 시작될 때 ) tmuxinator문제가 해결됩니다..zshrc

# Allow shell-specific code
function sh_is_zsh { [[ -n $ZSH_VERSION ]]; }
function sh_is_bash { [[ -n $BASH_VERSION ]]; }

# Update "tmuxinator.{z,ba}sh" if needed
tmuxinator_source="$XDG_CONFIG_HOME/tmuxinator/tmuxinator.$(sh_is_zsh && echo zsh || echo bash)"
# If not a regular file or symlink to one
if [[ ! -f $tmuxinator_source ]]; then
    # If doesn't exist or is a symlink to nowhere
    if [[ ! -e $tmuxinator_source ]] || [[ -L $tmuxinator_source ]] && [[ ! -e $tmuxinator_source ]]; then
        echo "Creating ${tmuxinator_source##*/} symlink:"
        tmp=$(gem which tmuxinator) # tmuxinator executable
        tmp=$(readlink -f "${tmp%/*}/../completion") # completion scripts dir
        ln -fsv "$tmp/${tmuxinator_source##*/}" "$tmuxinator_source"
        unset tmp
    else
      echo "Not creating symlink at at existing:"
      ls -lF "$tmuxinator_source"
    fi
fi

source "$tmuxinator_source"
unset $tmuxinator_source

shellcheck추가 브라우니 포인트를 위해 깨끗합니다 .

관련 정보