[Git] Credential Helper๋ก GitHub ์ธ์ฆํ๊ธฐ ๐
์๋ณธ ๊ฒ์๊ธ: https://velog.io/@euisuk-chung/Git-Credential-Helper๋ก-GitHub-์ธ์ฆํ๊ธฐ
Credential Helper๋ก GitHub ์ธ์ฆํ๊ธฐ
GitHub๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋งค๋ฒ ์ธ์ฆ ์ ๋ณด๋ฅผ ์
๋ ฅํ๋ ๊ฒ์ด ๋ฒ๊ฑฐ๋ก์ธ ์ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Git์ credential
๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ Git Credential Helper๋ฅผ ์ด์ฉํด ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
1. Credential Helper์ ๊ฐ์
Git Credential Helper๋ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ๋๋ฉ๋๋ค:
- Cache: ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ 15๋ถ ๋์ ์ ์ฅํฉ๋๋ค. ๋ ๊ธธ๊ฒ ์ ์ฅํ๋ ค๋ฉด ์๊ฐ์ ์ฐ์ฅํ ์ ์์ต๋๋ค.
- Store: ์ธ์ฆ ์ ๋ณด๋ฅผ ๋์คํฌ์ ์ ์ฅํ์ฌ ์๊ตฌ์ ์ผ๋ก ์ ์งํฉ๋๋ค. ๊ฐ์ธ ์ปดํจํฐ์์ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
์ด ์ธ์๋ OS ์์ฒด์์ ์ ๊ณตํ๋ Keychain ์์คํ ์ ํตํด ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ ์์ ํ๊ฒ ์ ์ฅํ ์ ์์ต๋๋ค.
2. Git Config ์ค์
Git์ ์ค์ ์ ๋ณด๋ git config
๋ช
๋ น์ด๋ฅผ ํตํด ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ ์ฒด config ๋ฆฌ์คํธ ๋ณด๊ธฐ
1
git config --global --list
์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ ์ค์
1
2
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
--global
: ์ ์ญ์ ์ธ ์ค์ ์ ์๋ฏธํฉ๋๋ค. ๋ชจ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ฉ๋ฉ๋๋ค.
์ค์ ์ญ์ ํ๊ธฐ
1
2
git config --unset --global user.name
git config --unset --global user.email
3. Credential Helper - Cache
Cache ์ค์ ํ๊ธฐ
1
git config --global credential.helper cache
์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ ํ, git config --global --list
๋ช
๋ น์ด๋ฅผ ํตํด ์ค์ ์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก 15๋ถ ๋์ ์ธ์ฆ ์ ๋ณด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค.
Cache ์๊ฐ ์ฐ์ฅํ๊ธฐ
1
git config --global credential.helper 'cache --timeout=3600'
์ด ๋ช ๋ น์ด๋ฅผ ํตํด 3600์ด, ์ฆ 1์๊ฐ ๋์ ์ธ์ฆ ์ ๋ณด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.
4. Credential Helper - Store
Store ์ค์ ํ๊ธฐ
1
git config --global credential.helper store
์ด ๋ช
๋ น์ด๋ฅผ ํตํด ์ธ์ฆ ์ ๋ณด๋ฅผ ๋์คํฌ์ ์ ์ฅํ์ฌ ์๊ตฌ์ ์ผ๋ก ์ ์งํ ์ ์์ต๋๋ค. ์ ์ฅ๋ ๋ก๊ทธ์ธ ์ ๋ณด๋ ~/.git-credentials
ํ์ผ์ ์ ์ฅ๋ฉ๋๋ค.
5. Credential Helper - Keychain
Mac์์ Keychain ์ค์ ํ๊ธฐ
1
git config --global credential.helper osxkeychain
-
์๋ก์ด ํ ํฐ ๋ฑ๋กํ๊ธฐ
Launchpad
->๊ธฐํ(ํด๋)
->ํค์ฒด์ธ ์ ๊ทผ
- ๋๋
Finder
->์์ฉ ํ๋ก๊ทธ๋จ
->์ ํธ๋ฆฌํฐ
->ํค์ฒด์ธ ์ ๊ทผ.app
์คํ - ์๋์ผ๋ก
github.com
ํญ๋ชฉ์ ์ฐพ์ ์ญ์ (์ธํฐ๋ท ์ํธ
ํญ๋ชฉ ํด๋ฆญ)
-
์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ ์ค์
1 2
git config --global user.name "Your Name" git config --global user.email "your_email@example.com"
-
์๋ก ๋ฑ๋ก๋ ๊ณ์ ์ผ๋ก Git ๋ช ๋ น์ด ์คํ
1 2
git commit -m "Your commit message" git push
- push ๋ช ๋ น์ด ์คํ ์, ์์ด๋์ ํจ์ค์๋(ํ ํฐ)๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ์ดํ ์๋์ผ๋ก ํค์ฒด์ธ์ ์๋ก์ด ๊ณ์ ์ ๋ณด๊ฐ ๋ฑ๋ก๋ฉ๋๋ค.
Windows์์ Keychain ์ค์ ํ๊ธฐ
1
git config --global credential.helper wincred
Windows์ ๊ฒฝ์ฐ, โ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์(Credential Manager)โ์์ ๋ฑ๋ก๋ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ง์ฝ remote repo์ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ ํ๋ค๋ฉด(token์ด ๋ง๋ฃ๋๋ ๋ฑ์ผ๋ก ๊ฐฑ์ ํ๋ค๋ฉด) ์ ๋ณด๋ฅผ ์ญ์ ํ๊ณ ์๋ก ๋ฑ๋กํด์ฃผ์ด์ผ ํฉ๋๋ค.
-
Credential Manager ์ด๊ธฐ
์ ์ดํ
->์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์
๋ฅผ ์ฝ๋๋ค.Windows ์๊ฒฉ ์ฆ๋ช
์์github.com
ํญ๋ชฉ์ ์ฐพ์ ์ญ์ ํฉ๋๋ค.
-
์๋ก ๋ฑ๋ก๋ ๊ณ์ ์ผ๋ก Git ๋ช ๋ น์ด ์คํ
1 2
git commit -m "Your commit message" git push
- push ๋ช ๋ น์ด ์คํ ์, ์์ด๋์ ํจ์ค์๋(ํ ํฐ)๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ์ดํ ์๋์ผ๋ก Credential Manager์ ์๋ก์ด ๊ณ์ ์ ๋ณด๊ฐ ๋ฑ๋ก๋ฉ๋๋ค.
6. Credential Helper ์ค์ ์ญ์ ํ๊ธฐ
๋๋๋ก Credential Helper ์ค์ ์ด ์๋ชป๋์๊ฑฐ๋ ์๋ก์ด ์ค์ ์ผ๋ก ๋ฐ๊พธ๊ณ ์ถ์ ๋๊ฐ ์์ต๋๋ค. ์ด๋ด ๋๋ ๊ธฐ์กด ์ค์ ์ ์ญ์ ํ๋ฉด ๋ฉ๋๋ค.
Cache ์ค์ ์ญ์ ํ๊ธฐ
1
git config --unset --global credential.helper
Store ์ค์ ์ญ์ ํ๊ธฐ
1
git config --unset --global credential.helper
Keychain ์ค์ ์ญ์ ํ๊ธฐ
Mac์์๋ ํค์ฒด์ธ ์ ๊ทผ ์ฑ์์ github.com
ํญ๋ชฉ์ ์ญ์ ํฉ๋๋ค.
Windows์์๋ ์๊ฒฉ ์ฆ๋ช
๊ด๋ฆฌ์์์ github.com
ํญ๋ชฉ์ ์ญ์ ํฉ๋๋ค.
๊ฒฐ๋ก
์ด์ Git Credential Helper๋ฅผ ์ด์ฉํด GitHub ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๊ฐ์ธ ์ปดํจํฐ์์๋ Store
๋ฅผ ์ฌ์ฉํ๊ณ , ๊ณต์ฉ ์ปดํจํฐ์์๋ Cache
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค. Keychain ์์คํ
์ ์ด์ฉํ๋ฉด ๋์ฑ ์์ ํ๊ฒ ์ธ์ฆ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ค๋๋ ๊ธด ๊ธ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋คโญ