현재 repo의 user확인법
git config -l
을 하면
credential.helper=osxkeychain
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
user.name=company
user.email=company.com
protocol.version=2
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
remote.origin.url=https://github.com/dddwsd/ml.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
user.name과 user.email에 회사 계정으로 설정되어 있어서 개인 github 계정인 dddwsd와 일치하지 않음
이 상태로 README.md를 수정하고
git commit -m
을 할 경우
dddwsd@Adminui-MacBookPro-7:~/dddwsd/ml$ git log
commit 7fb0690ccbc8803e547fff24687fadc87d24c948 (HEAD -> main)
Author: company <company.com>
Date: Fri Mar 18 19:24:47 2022 +0900
Add detail in READMD.md
commit 95384d53d0043089e86652fccd375228c91994e0
Author: jaeseungbyun <44894867+dddwsd@users.noreply.github.com>
Date: Fri Mar 18 11:33:47 2022 +0900
Initial commit
Author에 dddwsd가 아닌 회사 계정이 적혀있음.
이 상태로
git push
를 할경우
dddwsd@Adminui-MacBookPro-7:~/dddwsd/ml$ git push
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/dddwsd/ml.git/'
권한 에러 발생.
git reset HEAD^
로 commit을 취소한 다음.
git config --local user.name "dddwsd"
git config --local user.email "dddwsd@github.com"
으로 현재 repo의 user 설정하면
dddwsd@Adminui-MacBookPro-7:~/dddwsd/ml$ git config -l
credential.helper=osxkeychain
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
user.name=company
user.email=company.com
protocol.version=2
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
remote.origin.url=https://github.com/dddwsd/ml.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.main.remote=origin
branch.main.merge=refs/heads/main
user.name=dddwsd
user.email=dddwsd@github.com
처럼 맨 아래에 dddwsd가 추가됨.
이후 새로 commit을 만들면
jaeseungbyun@Adminui-MacBookPro-7:~/dddwsd/ml$ git log
commit b5c92b469eecf787ec5c83f09a578509001e619b (HEAD -> main)
Author: dddwsd <dddwsd@github.com>
Date: Fri Mar 18 19:41:18 2022 +0900
Add directroy detail in repo
commit 95384d53d0043089e86652fccd375228c91994e0
Author: jaeseungbyun <44894867+dddwsd@users.noreply.github.com>
Date: Fri Mar 18 11:33:47 2022 +0900
Initial commit
Author가 dddwsd로 설정됨.
이후
git push
를 하면
Username for 'https://github.com': dddwsd
Password for 'https://dddwsd@github.com':
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/dddwsd/ml.git/'
에러가 뜸? -> github 인증방식이 비밀번호에서 개인 토큰으로 바뀌었음..
github -> settings -> developer settings -> Personal access tokens
에서 기한 설정 / 원하는 권한 설정(귀찮아서 다했음)하고 생성
다시
git push
하고 아이디랑 token값 입력해주면
Username for 'https://github.com': dddwsd
Password for 'https://dddwsd@github.com':
오브젝트 나열하는 중: 5, 완료.
오브젝트 개수 세는 중: 100% (5/5), 완료.
Delta compression using up to 12 threads
오브젝트 압축하는 중: 100% (2/2), 완료.
오브젝트 쓰는 중: 100% (3/3), 319 bytes | 319.00 KiB/s, 완료.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/dddwsd/ml.git
9fd7544..b5c92b4 main -> main
push 성공
이후에 commit push할때마다 입력하라 해서 영구적으로 입력할 수 있는 방법을 찾던중
git config credential.helper store
를 사용하고 다음 push시에 비번 입력하면 영구저장함.
이미 입력했던 token은 다시 확인할 수 없기 때문에 github settings가서 regenerate 받아야한다..
그냥 ssh로 clone하는게 더 나을수도