Programing

user.name Git 키에 대해 둘 이상의 값

lottogame 2020. 12. 10. 08:27
반응형

user.name Git 키에 대해 둘 이상의 값


어떤 이유로 내 git 계정에 대해 user.name을 설정하려고 할 때 "키 user.name에 대해 둘 이상의 값"이라는 오류가 발생합니다. 단일 이름으로 설정하려면 어떻게해야합니까?


업데이트 (2012 년 12 월)

git1.8.1rc1은 이제 다르게 작동합니다.

"git config --get"은 동일한 구성 파일에서 동일한 변수의 여러 정의가 오류로 존재하는지 진단하는 데 사용되었지만 이제 내부 구성 논리에서 사용하는 "last one wins"규칙을 적용합니다 .

엄밀히 말하면 API 회귀 일 수 있지만 실제로는 아무도 눈치 채지 못할 것으로 예상됩니다.


원문 답변 (2010 년 11 월)

git config man 페이지에는 다음이 언급되어 있습니다.

변수 이름은 대소 문자를 구분하지 않으며 영숫자 및-만 허용됩니다.
주어진 변수에 대해 둘 이상의 값이있을 수 있습니다. 우리는 그 변수가 다중 값이라고 말합니다 .

실제로 이러한 구성 설정 (가능한 여러 값 포함)을 multivar 라고합니다.

Jefromi가 제안한 것처럼 3 개의 구성 파일 중 하나 이상의 user.name이 있는지 확인하십시오 .
다음과 같이 여러 값을 쿼리 할 수 ​​있습니다.

git config --local  --get-all user.name #local repo git config file)
git config --global --get-all user.name #user config file)
git config --system --get-all user.name #system git config file)

둘 이상의 user.name값에 응답하는 하나의 구성 파일을 수정해야합니다.


댓글에서 :

"로컬", "글로벌"및 "설정"파일을 조사하면 글로벌 user.name에서 하나만 볼 수 있습니다 .
하지만 git config --listgit config --get-all user.name에게 두 번 준다

여기에서 Git 2.8 (2016 년 3 월) 에서 언급했듯이 ( 모든 설정 을 보려면 다음을 사용할 수 있습니다 .

git config -l --show-origin

중복 설정이 (로컬, 글로벌, 시스템) 위치를 확인하면 mb21답변git config [--local/--global/--system] --replace-all key value 에서와 같이을 사용할 수 있습니다 .


모두 재설정하려는 경우 :

git config --global --replace-all user.email "new@mail.com"

~/.gitconfig(사용자 전역 구성) 의 내용과 .git/config해당 저장소 (저장소 별 구성)를 검사해야합니다. 그중 하나의 섹션 name아래에 이 표시되어야 user합니다. (하나의 파일에 두 개의 개별 사용자 섹션이있을 수도 있습니다.) 원하지 않는 섹션을 삭제하기 만하면됩니다.

git config --global user.name "Desired name"전역 설정 (아마도 경우)을 원할 경우 직접 설정할 수도 있고, --global저장소 별 설정 의 경우와 동일 하게 설정할 수도 있습니다.하지만 파일을 검사하고 범인을 직접 찾아내는 것이 가장 좋습니다. 당신이 가진 것을 확실히 알고 있습니다. 특정 저장소가 전역 저장소를 재정의합니다. 이상적으로는 이름을 전역 적으로 설정하고 좋은 이유가있는 경우에만 프로젝트에서 재정의해야합니다.


github의 사용자 이름과 이메일을 수동으로 변경 / 편집 할 수 있습니다.

애플리케이션 디렉토리로 이동

모든 숨김 파일보기 ... .git숨겨진 폴더 로 이동

파일 구성 파일 열기

다음과 같은 일부 줄이 표시됩니다.

[user]
    name = =
    name = =
    email = =

해당 줄을

[user]
    name = username
    email = user@test.com

먼저 구성에있는 user.names를 확인합니다.

git config --list

출력 예 :

user.email=abarker@cern.ch
user.name=fiveisgreen
user.github=fiveisgreen
user.name=Anthony

이 예에서 user.name은 두 번 나열됩니다. 중복을 제거하려면 다음을 수행하십시오.

git config --global --unset user.name

이러한 것을 디버깅하려면 다음 명령을 사용할 수 있습니다.

git config --list --show-origin

각 구성 항목에 대한 원본 파일을 보여줍니다.
중복 core.autocrlf되고 원치 않는 C:\\ProgramData/Git/config파일이있는 출력 예 :

$ git config --list --show-origin
file:"C:\\ProgramData/Git/config"       core.symlinks=false
file:"C:\\ProgramData/Git/config"       core.autocrlf=true
file:"C:\\ProgramData/Git/config"       core.fscache=true
file:"C:\\ProgramData/Git/config"       color.diff=auto
file:"C:\\ProgramData/Git/config"       color.status=auto
file:"C:\\ProgramData/Git/config"       color.branch=auto
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig"    diff.astextplain.textconv=astextplain
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig"    filter.lfs.clean=git-lfs clean -- %f
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig"    filter.lfs.smudge=git-lfs smudge -- %f
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig"    filter.lfs.required=true
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig"    filter.lfs.process=git-lfs filter-process
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig"    credential.helper=manager
file:C:/Users/john.doe/.gitconfig   user.name=John Doe
file:C:/Users/john.doe/.gitconfig   user.email=john.doe@somemail.com
file:C:/Users/john.doe/.gitconfig   core.preloadindex=true
file:C:/Users/john.doe/.gitconfig   core.fscache=true
file:C:/Users/john.doe/.gitconfig   core.autocrlf=input
file:C:/Users/john.doe/.gitconfig   gc.auto=256
file:.git/config        core.filemode=false
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.symlinks=false
file:.git/config        core.ignorecase=true
file:.git/config        core.autocrlf=input

gitconfig 파일이있는 위치를 확인하기 위해 --system--global으로 동일한 작업을 수행 할 수 있습니다.

git config --global --list --show-origin

출력 예 :

file:C:/Users/john.doe/.gitconfig   user.name=John Doe
file:C:/Users/john.doe/.gitconfig   user.email=john.doe@somemail.com
file:C:/Users/john.doe/.gitconfig   core.preloadindex=true
file:C:/Users/john.doe/.gitconfig   core.fscache=true
file:C:/Users/john.doe/.gitconfig   core.autocrlf=input
file:C:/Users/john.doe/.gitconfig   gc.auto=256

이 스레드는 저에게 많은 도움이되었습니다. 다음은 전역 구성 설정에서 중복 키 항목을 해결하기 위해 수행 한 작업입니다. Windows 7. 시스템의 / users / owner에있는 .gitconfig라는 파일을 검색했습니다. 텍스트 편집기 (Atom)로 편집하고 문제가되는 줄을 제거했습니다.

git config 명령을 사용하는 동안 실수로 이메일 주소를 따옴표로 묶었을 때 중복 키가 설정되었다고 생각합니다. 적어도 쉘 로그가 나타내는 내용입니다. 이런!

참고URL : https://stackoverflow.com/questions/4310974/more-than-one-value-for-the-key-user-name-git

반응형