터미널에서 다음과 같은 특정 명령을 입력할 때 사용자 정의 경고를 설정하려면 어떻게 해야 합니까?
git pull origin master
명령이 실행되지 않고 다음과 같은 경고 출력이 나타납니다.
Did you mean git rebase origin/master?
bash 스크립트를 만들거나 단순히 bash 구성 파일에 별칭을 사용하는 것을 고려해 보았지만 최선의 접근 방식이 무엇인지 잘 모르겠습니다.
감사해요.
답변1
후크가 없지만 pre-pull
유용할 수도 있습니다.https://git-scm.com/docs/githooks#_post_merge
모르는 경우 후크는 일반적으로 괜찮습니다.
별칭의 경우 or 에서 함수를 생성 하고 인수가 원본 마스터 가져 오기 git
인지 확인하고 그렇지 않으면 git을 호출하는 것과 마찬가지로 에 대한 별칭을 만들어야 합니다 . 그렇지 않으면 경고를 인쇄합니다. 또는 git이라는 사용자 정의 스크립트의 별칭입니다. 사실상 git용 래퍼 스크립트입니다..bashrc
.bash_aliases
즉, 별칭에는 공백을 포함할 수 없으므로 별칭이 첫 번째여야 합니다."단어"명령이라고도 합니다.
또는 .bash_aliases
이와 유사한 것:
mygit()
{
if [ "$1" = "pull" ] && \
[ "$2" = "origin" ] && \
[ "$3" = "master" ]; then
printf 'Did you mean git rebase origin/master?\n' >&2
return 1
else
git "$@"
fi
}
alias git=mygit
또는 함수 이름을 지정 git
하고 내부적으로 git을 호출합니다.
command git "$@"
바꾸다 git "@$"
.
또한 참고하십시오:
거의 모든 목적에서 셸 함수는 별칭보다 우수합니다.