문제

내 계획을 사용하여 진행하시면의 변화를 추적에서는/etc 지만에 투입할 때 내가 가지고 싶은 사람을 변경 지정으로 자신 저자를 추가하여--저자 옵션에서 명령행.

그래서 나는 중지 실수로 커밋으로 루트입니다.

했을 만드는 이성하는 걸 하지만 그것은 작동하지 않습니다-git var 은 여전히 돌아 루트가 지정을 저자에 commit 라인입니다.

AUTHOR=`git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/\1/p'`
if [ "$AUTHOR" == "root <root@localhost>" ];
then
   echo "Please commit under your own user name instead of \"$AUTHOR\":"
   echo 'git commit --author="Adrian"'
   echo "or if your name is not already in logs use full ident"
   echo 'git commit --author="Adrian Cornish <a@localhost>"'
   exit 1
fi
exit 0
도움이 되었습니까?

해결책

현재 버전의 Git 만들지 않는다 --author 사용 가능한 정보 Git 후크를 통해 환경 변수,command-line arguments,또는 stdin.그러나 요구하는 대신 사용 --author 명령행 지시할 수 있습하는 사용자 설정 GIT_AUTHOR_NAMEGIT_AUTHOR_EMAIL 환경변수:

#!/bin/sh
AUTHORINFO=$(git var GIT_AUTHOR_IDENT) || exit 1
NAME=$(printf '%s\n' "${AUTHORINFO}" | sed -n 's/^\(.*\) <.*$/\1/p')
EMAIL=$(printf '%s\n' "${AUTHORINFO}" | sed -n 's/^.* <\(.*\)> .*$/\1/p')
[ "${NAME}" != root ] && [ "${EMAIL}" != "root@localhost" ] || {
    cat <<EOF >&2
Please commit under your own name and email instead of "${NAME} <${EMAIL}>":
GIT_AUTHOR_NAME="Your Name" GIT_AUTHOR_EMAIL="your@email.com" git commit
EOF
    exit 1
}

--author 인수,이러한 환경 변수를 제어 commit 의 저자입니다.기 때문에 이러한 환경 변수에 Git 의 환경,그들은 또한 환경에서의 pre-commit 이다.고 있기 때문에 환경에서의 pre-commit 후크,그들에 전달된 git var GIT_AUTHOR_IDENT 사용처럼 그들을 git commit 는 않습니다.

불행하게도,설정에 이러한 변수를 훨씬 적은 편리하게 사용하는 것보다 --author.나는 제안에 연락하 Git 개발을 요청하는 그들은 이러한 환경 변수를 사용하여(가치를 통해 전달되는 --author)을 시작하기 전에 pre-commit 이다.

다른 팁

나는이를 사용하여 이것을 시스템에 추가합니다.

실제로 뿌리 뿌리고 그 껍질에 살고있는 사람들을 붙잡을 것입니다. (나쁜!) 그러나 사람들이 Sudo를 사용하면 내 로그가 유용합니다. 나는 너무 etc changelog를 git와 함께 유지하려고 노력하고 있습니다 - 그래서 나는 월간의 달을 볼 수 있습니다.

#I want everyone to check in changes to /etc files, but also want their names even when they use sudo.
export GIT_COMMITTER_EMAIL=${USER}@ourcompany.co.nz
export GIT_AUTHOR_EMAIL=${USER}@ourcompany.co.nz
.

https : //serverfault.com/questions/256754/correct-user-names-when-tracking-etc-in-git-repository-and- committing-as-root

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top