문제가 있습니다. 우리는 자체 사용자로 시스템에 로그인합니다.존도sudo su - root
그러면 행정업무를 할 수 있는 사람이 되어야 합니다 . git 저장소에 시스템 구성 파일이 있습니다(이로 인해 모든 것이 더 좋아집니다). 하지만 이제 사용자 설정을 잃어버렸습니다(존도) /home/johndoe/.gitconfig
문서. 유효한 변수를 설정하려고 시도했지만 $GIT_CONFIG
이는 전역 구성이 아닌 저장소 구성만 설정하므로 나에게 중요한 변수가 설정되지 않습니다.
$ sudo su - root
Hello johndoe. Switching your .gitconfig to /home/johndoe/.gitconfig
# git config --get user.name
John Doe
# git config --get user.email
[email protected]
# git config --global --get user.name
# git config --global --get user.email
#
내가 시도한 트릭은 다음과 같습니다.
$ cat .bashrc
--- snip ---
# load git config of user
LOGINUSER=$(who am i|awk '{print $1}')
if [ "$LOGINUSER" != "root" ]; then
GITCFGFILE="/home/$LOGINUSER/.gitconfig"
if [ -f $GITCFGFILE ]; then
echo "Hello $LOGINUSER. Switching your .gitconfig to $GITCFGFILE"
export GIT_CONFIG=$GITCFGFILE
fi
fi
전역 git 구성에 대한 경로를 설정하는 방법이 있습니까?
답변1
내 질문에 대답: 아니오
이것이 제가 해결한 해결책입니다. /etc/profile.d/gitsetup.sh
다음 내용이 포함된 파일을 추가했습니다.
[ -z "$PS1" ] && return
[ -z "$BASH_VERSION" -o -z "$PS1" ] && return
CFGFILE="/home/$(who am i|awk '{ print $1 }')/.gitconfig"
[ $USER == "root" -a -f "$CFGFILE" -a -n "$CFGFILE" ] && cat $CFGFILE > $HOME/.gitconfig
첫 번째와 두 번째 줄에서 대화형 셸을 테스트하고 세 번째 줄에서 소스 .gitconfig 경로를 읽은 다음 소스 파일이 있으면 루트 구성 파일을 바꿉니다.
답변2
나는 동일한 어려움을 겪었고 $HOME/.gitconfig
우리 버전의 git에 해당 환경 변수가 없었기 때문에 저장된 사용자 정보에서 동일한 문제를 발견했습니다.
나는 당신에게 영향을 미칠 수 있는 상황에 직면했습니다. .gitconfig
두 번째 사용자가 관련되었을 때 파일이 손상되었습니다. 그리고 나(초보자 git 사용자)에게 문제가 된 내 솔루션은 여기에서 찾을 수 있습니다.