Git 별칭으로 여러 명령을 &&로 사용합니다.

Git 별칭으로 여러 명령을 &&로 사용합니다.

나는 명령을 실행하고 실패 여부에 관계없이 서로의 성공에 따라 다른 명령을 실행하는 별칭을 원합니다.

그래서 .gitconfig에 이와 같은 것이 있습니다.

getpull = !sh -c 'git remote add $0 $1; git fetch $0 && git checkout -b $2 $0/$2'

해당 명령을 사용하면 다음 오류가 발생합니다(셸에 복사하면 제대로 작동하기 때문에 잘 모르겠습니다).

sh -c 'git remote add $0 $1: 1: sh -c 'git remote add $0 $1: Syntax     error: Unterminated quoted string

답변1

나는 이것이 .gitconfig 파서와 관련된 것 같다는 것을 알았습니다. 문제를 해결하려면 아래와 같이 전체 명령을 큰따옴표로 묶어야 합니다.

"!sh -c 'git remote add $0 $1; git fetch $0 && git checkout -b $2 $0/$2'"

답변2

세미콜론은 ;Git 별칭을 조기에 종료하는 주석을 시작하여 Git이 별칭을 지정한 외부 셸 명령을 실행하려고 하면 불완전하게 남습니다.

이 명령의 매뉴얼 페이지에는 Git 구성 파일이 INI 형식으로 작성되었기 때문에 세미콜론이 주석을 시작하고 줄 끝까지 확장된다고 git-config명시되어 있습니다 .;

관련 정보