2017-03-28 1 views
1

나는 git clone 명령에 wrapper를 넣으려고한다. 즉, "git clone user @ server : group/repo.git"명령을 입력하면 git clone 명령이 스크립트를 트리거하고 스크립트 내부에서 ... 1. git 저장소를 복제합니다. 2. 실행하십시오 저장소에 "git init"명령을 내린다.어떻게하면 git 명령에 래퍼를 넣을 수 있습니까? git clone

내가 원한 이유는 복제 프로젝터가 자동으로 특정 방식으로 설정되기를 원하기 때문이다. 이 어딘가에 PATH 변수가 전자로 설정 저장을

#/bin/bash 

if [ "$1" == "clone" ] ; then 
    # do your stuff here 
    echo special behavior of git clone 
else 
    command git "[email protected]" 
fi 

:

답변

1

별칭 원하는 명령 :

alias git='mygit' 

스크립트 mygit을 만들 수 있습니다. 지. /home/user/bin. chmod 0770 실행 파일로 만듭니다.

셸에 git clone을 입력하면 특별한 물건이 나옵니다. e를 입력하면 지. git push 스크립트는 원래 자식 프로그램을 호출합니다.

+1

대신'which git' 대신'command git'을 사용하여 별칭을 무시하십시오. 그것은 쉘에 내장되어 있습니다 (적어도 sh와 bash 둘다, 대쉬, zsh 및 다른 쉘에 대해서는 거의 확실하지 않습니다). 그런 다음 사용자가 입력 한 인용 부호를 변경하지 않으려면''$ @ ''을 사용하십시오 ('$ *'를 사용하면'$ IFS'에 정의 된대로 공백을 재 해석합니다). – torek

+0

@torek 이러한 힌트에 감사드립니다. – cmks

관련 문제