Infra/Git
[Git] ์ด๋ฏธ Pushํ Commit ๋ฉ์์ง ์์ ํ๊ธฐ + GitHub Token ์ธ์ฆ
carsumin
2025. 11. 22. 00:18
๊ฐ์
- ์ค๋ฌด์์๋ ํ์ฌ์ ์ปค๋ฐ ๊ท์น์ ๋ฐ๋ผ์ Git์ ๊ด๋ฆฌํ์๋ค.
- ์์ผ๋ก ๊ฐ์ธ ํ๋ก์ ํธ์์๋ Git ์ปค๋ฐ ๋ฉ์์ง ๊ท์น์ ๋ง๊ฒ ํต์ผํ๋ ค๊ณ ์์ ํ๋ค.
- ์ด๋ฏธ master ๋ธ๋์น์ push๋ ์ปค๋ฐ ๋ฉ์์ง๊น์ง ๋ณ๊ฒฝ์ด ํ์ํ ์ํฉ
- ํ์ ์ ํ๋ ์ํฉ์ด๋ผ๋ฉด ์ด๋ฐ ๋ถํ์ํ ์ง์ ์ํ๊ฒ ์ง๋ง ํผ์ ์ฐ๋ ๊น์ด๊ธฐ ๋๋ฌธ์ ๋ ธ๊ฐ๋ค ์์ ์ ์ข ํ๋ค...
๋จ๊ณ
- 1. ์์ ์ค์ธ ํ์ผ์ด ์๋์ง ํ์ธ
git status
- 2. ์์ ์ค์ธ ํ์ผ์ด ์์ ๊ฒฝ์ฐ ๋ณด๊ด
git stash
-> git status๋ก cleanํ ๊ฒ์ ํ์ธํ๋ฉด ์๋ ๋จ๊ณ๋ฅผ ์งํ
- 3. ์์ ํ ์ปค๋ฐ ๋ฒ์ ์ ํํ๊ณ Rebase
- ์์ : ์ต๊ทผ 8๊ฐ์ ์ปค๋ฐ ๋ฉ์์ง ์์ ํ๊ณ ์ถ๋ค๋ฉด HEAD~8
git rebase -i HEAD~8
- 4. rebase-todo ํ๋ฉด์์ ์์ ํ ์ปค๋ฐ ์ ํ
- ์ฌ๊ธฐ์ ์ข ํท๊ฐ๋ ค์ ์์ ์ ๋ ๋ฒํ๋๋ฐ... ์ง๊ธ ํ๋ฉด์์๋ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๋ฐ๊พธ๋ ๊ฒ ์๋๋ผ, ์ด๋ค ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์ ํ ์ง ๊ณ ๋ฅด๋(?) ์์ ์ด๋ค. ๋ํดํธ๋ pick์ผ๋ก ๋์ด์๋๋ฐ ์์ ํ๊ณ ์ถ์ ์ปค๋ฐ๋ฉ์์ง๋ฅผ pick์์ reword๋ก ๋ฐ๊ฟ์ค๋ค.
- ์ ์ฅ : Ctrl + O -> Enter , ์ข ๋ฃ : Ctrl + X
reword 0fe4e0e [2025.11.20] ์ฃผ์ ์ถ๊ฐ
reword 3603bec [2025.11.20] product, seller DDD ์ถ๊ฐ
reword 2d4ac59 [2025.11.20] Payment DDD ์ถ๊ฐ
...
pick d4179b8 Create README.md ← ์์ ํ์ง ์์ ์ปค๋ฐ
- 5. ์ปค๋ฐ ๋ฉ์์ง ์์
- ์ด์ ์์ ํ ์ ์๋ ์๋ํฐ ํ๋ฉด์ด ๋ฌ๋ค. ์ฌ๊ธฐ์ ์์ ํ๊ณ ์ ์ฅ - ์ข ๋ฃ ๊ณผ์ ๋ฐ๋ณต.
[2025.11.20] ์ฃผ์ ์ถ๊ฐ
# Please enter the commit message...
- 6. Rebase ์๋ฃ ํ ์๊ฒฉ ์ ์ฅ์์ ๊ฐ์ ํธ์
git push origin master --force-with-lease
์ฌ๊ธฐ๊น์ง ์งํํ๋๋ฐ ๊น ์์ด๋/ํจ์ค์๋ ์ ๋ ฅํ๋ฉด ' remote: Invalid username or token. Password authentication is not supported for Git operations. ' ๋ผ๊ณ ๋ฌ๋ค.
๊นํ๋ธ๋ ๋น๋ฐ๋ฒํธ push๋ฅผ ์ง์ํ์ง ์์์ ํ ํฐ์ด ํ์ํ๋ค๊ณ ํ๋ค.
- 7. Personal Access Token ์์ฑํ๊ธฐ
- ๊น ๋ฉ์ธ์์ ํ๋กํ - Settings - ์ข์ธก ๋งจ์๋ Developer settings - Personal access tokens - Tokens (classic)
- ๊ผญ classic์ผ๋ก ์์ฑํด์ผ ํจ
- Note : ์ํ๋ ์ด๋ฆ
- Expiration: 90 days ์ถ์ฒ
- Scopes: repo (์ด๊ฒ๋ง ์ฒดํฌ)
- 8. ์์ฑ๋ ํ ํฐ์ push ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ฉ
Username: GitHub ID
Password: (์์ฑํ ํ ํฐ ๋ถ์ฌ๋ฃ๊ธฐ)
- 9. ์์ ๋ ์ปค๋ฐ ๋ฉ์์ง ํ์ธ
git log --oneline --decorate -n 8
๋ก๊ทธ๋ก ์ ์์ ๋๋์ง ํ์ธํ๋ฉด ๋๋ค!
๊ทธ๋ฆฌ๊ณ ์๊น stash ํ๋๊ฑด pop ์ผ๋ก ๋ค์ ๊บผ๋ด์ค๋ฉด ๋๋ค.
์ด์ ๋ ธ๊ฐ๋ค ์์ ๋...