자식과 터미널에 문제가 있습니다.
내 문제를 보여주는 갤러리가 있습니다. http://imgur.com/a/6RrEY
내 터미널에서 커밋을 푸시하면 git은 다른 사용자 이름으로 푸시한다고 말합니다. 그건 내 조직 (내 회사)의 사용자이며 커밋이 전혀 없으며 아무도 속한 것 같습니다. (갤러리 첫 번째 그림 확인)
그러나 이것은 내가 Mac 용 Github를 사용할 때 발생하지 않습니다. 피드에서 내가 직접 푸시 한 커밋을 볼 수 있습니다.
문제는 내 개인 저장소에도 영향을 미칩니다. 터미널은이 사용자와 함께 푸시하려고하기 때문에 해당 저장소에 커밋을 푸시 할 권한이 없다고 말합니다 (분명히 잘못되었습니다) : (갤러리 두 번째 그림 확인)
뭔지 맞춰봐 ? 이것은 Mac 용 Github에서도 발생하지 않습니다.
며칠 전에 컴퓨터를 새 것으로 바꿨 기 때문에 github의 모든 ssh 키를 재설정하고 Mac 용 Github에서 생성 한 새 키만 남겨 두었으므로 일부 유령 사용자 / ssh 키가 숨겨져 있다고 생각하지 않습니다. 어딘가에,이 hdd는 새로운 것입니다 : (갤러리 세 번째 그림 확인)
내 .gitconfig 파일은 모두 명확하며 내 자격 증명 만 있습니다. (갤러리 네 번째 그림 확인)
정말 이해가 안가요, 도움, StackOverflow, 당신은 나의 유일한 희망입니다.
(불쌍한 김프 기술과 스타 워즈 레퍼런스에 대해 사과드립니다)
편집 : ssh-add -l
Mac 용 github에서 만든 좋은 ssh 키만 표시되며 github 계정이 하나만 있습니다.
EDIT2 : ssh -T git@github.com
나를 좋은 사용자로 인식하십시오.
EDIT3 : 몇 가지 테스트 후 내 터미널이 내 사용자 이름으로 커밋을 수행하는 것처럼 보이지만 다른 사용자로 푸시하면 Mac 용 Github는 좋은 사용자 이름으로 커밋하고 푸시합니다.이 상황은 내가 가지고 / 만드는 모든 저장소에서 발생합니다 (새로운 하나).
EDIT4 : 개인 저장소 git log --pretty="%h %an %ae"
에서 내 좋은 사용자 이름을 보여줍니다.
EDIT5 : 내 .NET Framework 에서 내 자격 증명을 재정의하는 환경 변수의 흔적이 없습니다 env
. 좋은 자격 증명으로 이러한 변수를 설정하려고해도 문제가 지속됩니다.
EDIT6 :/.git/config
저장소 의 경로에서 사용자를 강제하면 상황이 정상적으로 작동 하지만 좋은 옵션이라고 생각하지 않습니다.http://USER@github.com/USER/REPO.git
EDIT7 : 나를 위해 커밋을 푸시 한 git 사용자를 삭제했으며 다른 오류가 발생합니다.remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/'
최종 편집 : homebrew와 함께 git을 설치하고 입력 git config --global push.default simple
했으며 이제 사용자를 강제하지 않고도 내 자격 증명을 사용합니다. 이상하다. 도와 주신 모든 분들께 감사드립니다. 당신은 훌륭한 사람들입니다!
~/.gitconfig
명확하고 그렇습니다 $project_root/.git/config
. 실제로 모든 개인 프로젝트에이 문제가 있습니다. 다른 사용자가 해당 저장소를 소유 한 조직에 속해 있으므로 작업 프로젝트를 푸시 할 수 있습니다.
~/.gitconfig
및$project_root/.git/config
파일. 이 둘 중 하나는 확실히 사용자 이름에 대해 잘못 구성되었습니다.