분기를 전환 한 후 가상 서버를 다시 시작하고 내 .gitconfig
에 일부 별칭을 추가하려고 시도했지만 작동하지 않았습니다.분기를 전환 할 때 외부 명령 호출
co = checkout | !rap
은 랩 스크립트 만 실행합니다.
co = checkout && !rap
내가 노력 다른 가지 (checkout $1
를 같은) 내 "즐 ~ 즐 자식 사용"을 제공합니다.
분기를 전환 한 후 가상 서버를 다시 시작하고 내 .gitconfig
에 일부 별칭을 추가하려고 시도했지만 작동하지 않았습니다.분기를 전환 할 때 외부 명령 호출
co = checkout | !rap
은 랩 스크립트 만 실행합니다.
co = checkout && !rap
내가 노력 다른 가지 (checkout $1
를 같은) 내 "즐 ~ 즐 자식 사용"을 제공합니다.
내 생각에, 실제로 원하는 것은 post-checkout
후크입니다 (.git/hooks/
디렉토리와 githooks manpage을보십시오).
고마워.하지만 .. 시도 했어. #!/bin/sh echo "foo" .git/hooks/post-checkout과'chmod + x post-checkout'에 echo하지만 git-checkout은 아무 것도 울리지 않는다! –
방금 확인했는데 반향이 있습니다. './. git/hooks/post-checkout'을 직접 실행하면 어떻게됩니까? –
직접 실행하면 문제가 없습니다. 나는'git-init'을 시도해 보았지만 문제가되지 않았습니다. –
hacker's answer에 기록 된대로 문제에 대한 올바른 솔루션은 단순히 post-checkout
hook를 사용 될 수 있습니다.
다음은 당신의 질문에 대한 추적 할 수없는 가망 솔루션이있다.
예를 들어 별칭에서 단일 별표 명령을 사용합니다.
[alias]
alias = config --get-regexp ^alias\\.
또는 '!' 접두사, 아마도 "sh -c
"트릭을 사용합니다. 그러면 "git 명령"을 철자해야합니다.
[alias]
sed = !git ls-files --stage | grep ^100 | awk '{print $4}' | xargs sed
who = "!sh -c 'git log -1 --pretty=\"format:%an <%ae>\" --author=\"$1\"' -"
(alias.sed
이 최선의 해결책입니다). 이전이 succesfull 경우 다음 명령을 수행하면, 다음 "rap
"의미
[alias]
br = !sh -c 'git checkout "$0" && rap'
여기 &&
시도 "git checkout <somebranch>
을"할 "git br <somebranch>
"에 대해 원하는 경우
. 당신은
BTW는 "git checkout <branch>
"을 사용하여 가지를 전환 하지 않는 관계없이 이전 명령의 상태의 명령을 실행하는 대신 ;
를 사용할 수 있습니까? "git branch <branchname>
"은 체크 아웃하지 않고 분기를 만듭니다.
그것은 정말 내 질문에 대한 해결책이 아니지만 매우 일반적입니다. 나는'co = "! sh -c 'git checkout \"$ 1 \ "'랩 -"'과'co =! git checkout $ 1 | 랩 -'그리고 그것은 여전히 랩을 실행합니다. –
Errr ... "''''는 명령의 출력을 파이프하는 것을 의미합니다 (앞의 표준 출력을 나중에 명령의 표준 입력으로 연결). ""&&' "또는"';''을 사용해야합니다. 업데이트 된 답변도 참조하십시오. * 질문 *에 대답하기 위해 +1 –
+1. stackexchange 사이트의 주된 실패는 수락 된 대답이 묻는 질문과 아무런 관련이 없다는 것입니다. 대신 대답은 질문 뒤에 필요한 것, 즉 질문자에게 유용하며 나중에 검색하는 사람들에게는 유용하지 않습니다. – chris
물론 나는 계산을하려고했습니다. 나는 다른 사람들처럼 커피 부족을 비난 할 것이다. –
질문을 수정하여 문제를 해결할 수 있습니다. –