๐งจ GitHub์ ์ฒซ push ํ๋ ค๋๋ฐ ๋ก๊ทธ์ธ ์๋ฌ?! (๋น๋ฐ๋ฒํธ ์ธ์ฆ ์คํจ ํด๊ฒฐ๋ฒ)
์ฒ์ GitHub์ ์ฝ๋๋ฅผ
pushํ๋ ค๋๋ฐโฆ
์๋ ์ฒ๋ผ ๋ก๊ทธ์ธ์ด ์๋๋ค๊ณ ๋น๋๋ค.
remote: Support for password authentication was removed on August 13, 2021.
fatal: Authentication failed๐ฑ ๋ด ๋น๋ฐ๋ฒํธ ๋ง๋๋ฐ ์ ์ ๋๋ ๊ฑฐ์ผ?!
๋ฐ๋ก ์ฌ๊ธฐ์ ๋ฉ๋ถ ์ค์ฃ . ์ ๋ ๊ทธ๋ฌ์ต๋๋ค. (์ง์ง๋ก์...)
๐ข ์์ธ ๐ GitHub, ๋น๋ฐ๋ฒํธ ์ธ์ฆ์ ์์ ๋ง์๋ฒ๋ ธ์ด์
2021๋
8์๋ถํฐ GitHub๋ ๋น๋ฐ๋ฒํธ ์ธ์ฆ์ ์ ๋ฉด ์ค๋จํ์ต๋๋ค.
โ ์์ผ๋ก๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์จ๋ ์ ๋ ๋ก๊ทธ์ธ๋์ง ์์์.
โ ๊ทธ๋์ ๋ญ ์จ์ผ ํ๋๊ณ ์?
๋ฐ๋ก Personal Access Token (PAT) ์ด๋ผ๋ ๊ฑธ ์จ์ผ ํด์!
์ด์ ์ด๊ฒ ๋น๋ฐ๋ฒํธ๋ฅผ ๋์ฒดํ๋ ์ธ์ฆ ์๋จ์ด ๋์ต๋๋ค.
์๋ ์ค๋ช ๋๋ก ๋ฐ๋ผํ์๋ฉด ๋ฉ๋๋ค.
1๏ธโฃ GitHub์์ ํ ํฐ(PAT) ๋ง๋ค๊ธฐ
๐ ๋งํฌ ํด๋ฆญ ๐ํ ํฐ ์์ฑํ๋ฌ ๊ฐ๊ธฐ
โ๏ธ ํ ํฐ ์ข ๋ฅ ๊ณ ๋ฅด๊ธฐ
| ์ต์ | ์ค๋ช |
|---|---|
| Fine-grained token | โ GitHub๊ฐ ๊ณต์ ์ถ์ฒํ๋ ๋ฐฉ์, ๋ ์์ |
| Classic token | ๊ตฌ๋ฒ์ ํธํ์ฉ, ํ์ ์ ์ฌ์ฉ ๊ฐ๋ฅ |
๐ก ์ง๊ธ์ Fine-grained token์ผ๋ก ์ถ์ฒ๋๋ฆฝ๋๋ค.
๐ Classic Token vs Fine-grained Token... ๋ญ๊ฐ ๋ค๋ฅธ๊ฐ์?
GitHub์์ Personal Access Token(PAT)์ ๋ง๋ค๋ค ๋ณด๋ฉด
โClassicโ์ด๋ โFine-grainedโ ์ค ๋ญ ๊ณ ๋ฅผ์ง ๊ณ ๋ฏผ๋ ์ ์์ด์.
๋ ํ ํฐ์ ๊ธฐ๋ฅ์ ์ผ๋ก ๋น์ทํ์ง๋ง, ๋ค์๊ณผ ๊ฐ์ ์ฐจ์ด์ ์ด ์์ต๋๋ค.
| ํญ๋ชฉ | ๐ Classic Token | ๐งฌ Fine-grained Token |
|---|---|---|
| ์ ์ฉ ๋ฒ์ | ๋ด ๊ณ์ ์ ๋ชจ๋ ์ ์ฅ์ | ์ ํํ ํน์ ์ ์ฅ์๋ง |
| ๊ถํ ์ค์ | ๋๋ต์ ์ธ ๋ฒ์ (repo, gist, ๋ฑ) |
๐ ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์ญ์ ๊น์ง ์ธ๋ถ ์ค์ ๊ฐ๋ฅ |
| ๋ณด์์ฑ | ๋ณดํต ์์ค | โ ํจ์ฌ ์์ ํจ |
| ์ฌ์ฉ ๊ฐ๋ฅ์ฑ | ๋๋ถ๋ถ์ ํด์์ ์ฌ์ฉ ๊ฐ๋ฅ | ์ผ๋ถ ์ค๋๋ ํด์์๋ ๋ฏธ์ง์ ๊ฐ๋ฅ์ฑ ์์ |
| GitHub ๊ณต์ ๊ถ์ฅ๋ | โ ๏ธ ์ ์ฐจ ์ค์ด๋๋ ์ค | โ GitHub๊ฐ ๊ณต์ ์ถ์ฒํ๋ ๋ฐฉ์ |
๐ฏ ์ด๋ค ๊ฑธ ์ ํํด์ผ ํ ๊น?
์ฒ์ Git์ ๋ฐฐ์ฐ๊ณ ์๊ณ , ํผ์ ๊ณต๋ถํ๊ฑฐ๋ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ค๋ฉด
โ โ Fine-grained Token ์ถ์ฒ!ํ์ฌ ๋ด๋ถ ํด, CI/CD, GitHub CLI ๋ฑ ๋ค์ํ ๋๊ตฌ์ ์ฐ๋ํด์ผ ํ๊ณ ,
์ด ๋๊ตฌ๋ค์ด ์์ง Fine-grained๋ฅผ ์ ๋๋ก ์ง์ํ์ง ์๋๋ค๋ฉด
โ โ Classic Token๋ ํ์ํ ์ ์์ด์
โ ๏ธ ๋จ, Classic Token์ ๊ณ์ ์ ์ฒด์ ์ ๊ทผ ๊ถํ์ ์ฃผ๊ธฐ ๋๋ฌธ์
์ค์ํ๋ฉด ๋ฏผ๊ฐํ ์ ์ฅ์๊น์ง ๋ ธ์ถ๋ ์ ์์ด์!
๊ผญ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฐ๋ ๊ฒ ์ข์์.
๐ก Tip
- ๊ณต๋ถ์ฉ / ๊ฐ์ธ ํ๋ก์ ํธ์๋ โ Fine-grained๋ก ์ถฉ๋ถํฉ๋๋ค
- ํ์ฌ ํ ํ๋ก์ ํธ ์ค ์ผ๋ถ ์ ์ฅ์๋ง ๊ด๋ฆฌ โ Fine-grained + "Only select repositories"
- ํด ์ฐ๋ ๋ฌธ์ ๋ก Classic์ด ํ์ํ ๋ โ ์ต์ ๊ถํ๋ง ๋ถ์ฌํ๊ณ , ๋ง๋ฃ๊ธฐ๊ฐ๋ ์งง๊ฒ!
โ๏ธ Repository access ์ค์
์ด๊ฑด ๋ด ํ ํฐ์ด ์ด๋ค ์ ์ฅ์์ ์ ๊ทผํ ์ ์๋๊ฐ๋ฅผ ์ ํ๋ ๋ถ๋ถ์ ๋๋ค.
| ์ต์ | ์ค๋ช | ์ถ์ฒ ์ํฉ |
|---|---|---|
| Public repositories | ๊ณต๊ฐ ์ ์ฅ์๋ง ์ฝ๊ธฐ ์ ์ฉ | โ push๋ ์ ๋จ |
| All repositories | ๋ชจ๋ ์ ์ฅ์(read/write) ์ ๊ทผ | โ ํผ์ ๊ฐ์ธ ํ๋ก์ ํธ |
| Only select repositories | ํน์ ์ ์ฅ์๋ง ์ ํํด์ ์ค์ | โ ํ์ฌ/ํ ํ๋ก์ ํธ |
โ ๏ธ push, commit ํ๋ ค๋ฉด ๋ฐ๋์ All or Only select ์ค ํ๋ ์ ํํด์ผ ํด์!
๐ Repository permissions ์ค์
์ฌ๊ธฐ์์ ์ค์ ๊ถํ์ ์ ํฉ๋๋ค. ( ์์ Repository access๋ฅผ ์ ํํ๋ฉด ์๋์ Repository permissions์ด ๋น๋๋ค.)
All repositories๋ฅผ ์ ํํ๋ค๋ฉด, ์๋์ ์ฌ๋ฌ ๋ฉ๋ด๊ฐ ๋ฐ ๊ฑฐ์์.
๊ทธ ์ค์ ์๋ ํญ๋ชฉ ์ค์ ๊ฐ ์ถ์ฒํฉ๋๋ค.
| ํญ๋ชฉ | ๊ธฐ๋ณธ๊ฐ | ํด์ผ ํ ์ค์ |
|---|---|---|
| Contents | โ No access | โ Read and write โ ๊ผญ! |
| Metadata | Read-only | ๊ทธ๋๋ก OK |
| ๋๋จธ์ง (Issues, PR ๋ฑ) | No access | ํ์ํ ๋๋ง ์ค์ |
๐งฉ No access๋ ๋ง ๊ทธ๋๋ก โ์๋ฌด ๊ฒ๋ ๋ชป ํจโ์ด์์.
push๊ฐ ์ ๋๋ ์ด์ ๋ ๋๋ถ๋ถ ์ฌ๊ธฐ์์Contents๊ฐ No access์ธ ์ํ๋๋ฌธ์ ๋๋ค!
โจ ๋์ค์ ๊ถํ ๋ฐ๊พธ๊ณ ์ถ์ผ๋ฉด?
โ
๊ฐ๋ฅํฉ๋๋ค!
GitHub์์๋ ์์ฑํ ํ ํฐ์ ๋์ค์ ์ธ์ ๋ ์์ ํ ์ ์์ด์.
- Personal access tokens ๊ด๋ฆฌ ํ์ด์ง๋ก ๊ฐ์
- ์ํ๋ ํ ํฐ ์ฐ์ธก์
Editํด๋ฆญ Repository access,Permissions๋ฑ ์ํ๋ ํญ๋ชฉ ์์ - ์ ์ฅํ๋ฉด ๋ฐ๋ก ์ ์ฉ๋ฉ๋๋ค.
๐ก ์: ์๋๋ read-only๋ก ๋ง๋ค์๋๋ฐ, ๋์ค์ push ์์
๋ ํ๊ฒ ๋๋ฉด Read and write๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ!
2๏ธโฃ Git์ ํ ํฐ์ ๋ถ์ฌ๋ฃ๊ธฐ
์์ ์์๋๋ก ํ ํฐ์ ๋ง๋ค์๋ค๋ฉด ํ ํฐ์ด ์์ฑ๋๋ฉด์ '๋ค์์๋ ๋ณผ ์ ์๋ค' ๋ผ๊ณ ๋น๋๋ค. (๊ทธ๋ฌ๋ ํ์ด์ง๋ฅผ ์ด๋ํ๋ฉด ์๋ผ์...ใ
ใ
)
๋ฐ๋ก ํ ํฐ์ ๋ณต์ฌํฉ๋๋ค!
์ด์ ๋ค์ ํฐ๋ฏธ๋์์ push ํด๋ณด์ธ์.
Git์์ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ๋ฌผ์ ๋ ์ด๋ ๊ฒ ๋ฐ ๊ฑฐ์์.
Username: your-email@example.com
Password: [๐ ์ฌ๊ธฐ๋ค ๋ณต์ฌํ ํ ํฐ ๋ถ์ฌ๋ฃ๊ธฐ!]
โ GitHub๊ฐ ์ด ํ ํฐ์ ๋น๋ฐ๋ฒํธ์ฒ๋ผ ์ธ์ํด์ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํฉ๋๋ค!
3๏ธโฃ ๋ค์๋ถํฐ ์ ๋ฌผ์ด๋ณด๊ฒ ์ ์ฅํ๊ธฐ
โ
macOS์์๋ Git 2.9.0 (2016๋
6์ ์ถ์)๋ถํฐcredential-osxkeychain helper๊ฐ ์๋์ผ๋ก ์ค์น๋๊ณ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค.
๋ค๋ง, ์๋ ์ค์ (--global)๋ก ๋ฑ๋ก๋๋ ์์ ์ Git ์ค์น ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค.
โ ํ์ธ ๋ฐฉ๋ฒ
git config --global credential.helperโ ๊ฒฐ๊ณผ๊ฐ osxkeychain์ด๋ฉด ์ด๋ฏธ ์ค์ ๋ ์ํ์
๋๋ค.
์ค์ ์ ๋์ด ์์ผ๋ฉด ์๋์ผ๋ก ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค!
git config --global credential.helper osxkeychain๐ ๋๋์ด ์ฑ๊ณต~~ ๐
์ฒ์์ ํท๊ฐ๋ฆด ์ ์์ง๋ง, ํ ๋ฒ๋ง ์ ๋๋ก ์ค์ ํ๋ฉด
๊ทธ๋ค์๋ถํฐ๋ ์ ๋ง ํธํ๊ฒ GitHub์ ์ํตํ ์ ์์ด์.
๐ฌ "์ฒ์ push ํ๋ค๊ฐ ์ธ์ฆ ์ค๋ฅ ๋์ ํ๋ฃจ๋ฅผ ๋ ๋ ธ์ต๋๋คโฆ"
โ ๊ทธ๋ฐ ๋ถ๋ค์ด ๋ ์ด์ ์๊ธฐ์ง ์๊ธธ ๋ฐ๋ผ๋ฉฐ, ์ด ๊ธ์ ์๋๋ค.
'Dev Tool > Git & Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Git Commit Message(AngularJS) (0) | 2026.03.10 |
|---|---|
| Husky๋ก Java ์๋ ํฌ๋งทํ ์ค์ ํ๊ธฐ (google-java-format) (0) | 2026.03.09 |
| Husky๋ก Java ์๋ ํฌ๋งทํ ์ค์ ํ๊ธฐ (clang-format) (0) | 2026.03.09 |