Git이 구성 후에도 커밋을 허용하지 않는 이유는 무엇입니까?


84

이 질문은 중복 된 것처럼 보이지만 실제로는 그렇지 않습니다. 계속 반복되는 약간의 차이. git은 설정 후에도 "당신이 누군지 알려주세요"라고 계속 말합니다. 내가 달릴 때git commit , 이것이 내가 얻는 것입니다 ....

$ git commit

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'Obby@ObbyWorkstation.(none)')

하지만 내가 달릴 때 git config --global -l 하면 내 모든 세부 정보를 제공합니다 ...

$ git config --global -l
user.name=myname
user.mail=me.myself@gmail.com
http.proxy=proxy.XX.XX.XX:XXXX

내 이름, 이메일 및 프록시를 변경했지만 명령을 실행할 때 제대로 표시됩니다. .gitconfig 파일에서도 값이 설정된 것을 볼 수 있습니다. 나는 전혀 저지를 수 없기 때문에 빠진 것이 무엇 일 수 있습니다. 내가 누군지 계속 물어볼 때마다?

@sheu는 내가 변경 한 것을 말했지만 여전히 같은 문제입니다. 내가을 설정해 --local도 여전히 git commit동일한 질문을합니다. 이것은 출력입니다

$ git config --local -l
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
user.name=myname
user.mail=me.myself@gmail.com

아마도이 게시물이 귀하의 질문에 대한 답변 일 수 있습니다. stackoverflow.com/questions/2936652/…
Sumit Munot

@SumitMunot, 유용한 것을 찾을 수 없었습니다 ... 저는 마스터 브랜치 만 있고 다른
것은

3
@SumitMunot 편집을 제안 할 때 "도와주세요"및 "미리 감사합니다"와 같은 항목을 추가하지 마십시오. 이와 같은 문구는 질문에 불필요한 소음을 추가하므로 권장하지 않습니다. 또한 제목을 질문으로 적극적으로 변경하고 있지만 많은 경우 동사 "Is"가 누락되었습니다. 편집을 제안 할 때 적절한 문법을 ​​사용하고 있는지 확인하십시오.
psubsee2003 2013

5
user.email글로벌 구성에 있어야하지 않습니까 (이메일 의 e 에 주의 )?
Lumen 2013

답변:


166

오타입니다. 실수로 e를 설정 user.mail하지 않았습니다. . user.email글로벌 구성에서 설정 하여 수정하십시오.

git config --global user.email "you@example.com"

고마워요 .. 알아 채지 못했어요. 새로 작성하는 대신 위쪽 화살표를 누르는 문제
Obby 2013

오 젠장! 같은 실수를했습니다.
azmodan 2017

죄송하지만 어디를 설정하거나 편집해야하는지 이해할 수 없습니까?
cSharma

1
5 년 후 같은 실수를 저질렀습니다!
Jalal

오타가 얼마나 많은 시간을 낭비 할 수 있는지 놀랍습니다! 고마워 친구!
jaycee

10

전역 git 옵션을 설정하고 있지만 로컬 체크 아웃에 재정의가 설정되어있을 수 있습니다. 로 다시 설정하십시오 git config --local <setting> <value>. .git/config로컬 체크 아웃 의 파일을보고 체크 아웃이 정의한 로컬 설정을 확인할 수 있습니다 .


제어판에서 git 데이터를 지울 수 있습니다 : 제어판 → 사용자 계정 → 자격 증명 관리자 → Windows 자격 증명 관리자. 그런 다음 올바른 사용자 이름과 비밀번호로 다시 입력하십시오. 이것은 나를 위해 일한 유일한 옵션입니다.
Sophie Cooperman

3

로컬이 있습니까 user.name이나 user.email의 글로벌 한 오버 라이딩을?

git config --list --global | grep user
  user.name=YOUR NAME
  user.email=YOUR@EMAIL
git config --list --local | grep user
  user.name=YOUR NAME
  user.email=

그렇다면 제거하십시오.

git config --unset --local user.name
git config --unset --local user.email

로컬 설정은 클론 단위이므로 머신의 각 리포지토리 user.name및 로컬 설정을 해제 user.email해야합니다.


0

구성을 올바르게 설정 한 후에도이 문제가 발생했습니다. git config

내 시나리오는 관리자 (Linux)를 통해 git 명령을 실행했습니다. 추가 디버깅에서 감독자는 홈 폴더에서 git 구성을 읽지 않았습니다. 따라서 관리자 구성에서 환경 HOME 변수를 설정해야 git 구성을 올바르게 찾을 수 있습니다. 감독자가 감독자의 구성 (/etc/supervisor/conf.d)에 구성된 사용자 이름에서 git 구성을 찾을 수 없다는 것이 이상합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.