Git repo별 user 설정

dddwsd·2022년 3월 18일
0

현재 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하는게 더 나을수도

profile
Github - https://github.com/dddwsd

0개의 댓글