모든 레포지토리를 같은 커맨드로 자동화

local
dev
env
shell
script

macOS 한정. 윈도우는 테스트 안해봄.

  1. .bashrc, .zshrc에 알리아스 추가.
    1alias repo='sh $(git rev-parse --show-toplevel)/repo.sh'
  2. 레포지토리 루트에 repo.sh로 프로젝트에 필요한 명령 만들기.
    1set -euo pipefail
    2
    3readonly WORK_DIR=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 && git rev-parse --show-toplevel)
    4cd "$WORK_DIR"
    5
    6COMMAND="help"
    7
    8if [[ 0 -lt $# ]]; then
    9  COMMAND="$1"
    10fi
    11
    12case $COMMAND in
    13help)
    14  cat repo.txt
    15  ;;
    16*)
    17  echo "Unexpected command : $COMMAND
    18"
    19  cat repo.txt
    20  exit 1
    21  ;;
    22esac
  3. repo.txt에 기능 설명을 추가.
    1Usage : ./repo.sh <COMMAND> [PARAMs]
    2
    3Command list :
    4    help      print this help text.
    5
    6TIP :
    7    Add alias 'repo=sh $(git rev-parse --show-toplevel)/repo.sh'. Then you can use shorthand like 'repo help' in local repository.
    8    ex) echo "alias repo='sh \$(git rev-parse --show-toplevel)/repo.sh'" >> ~/.bashrc
  4. 로컬 레포지토리 내에서 repo 커맨드로 사용 가능.

댓글