์๋ก
์๋๋ ๊ฐ๋ฐํ ๋ git commit -> push origin ๋ฅผ ๋ฐ๋ณตํ๋ฉด์ ๊ณ์ pushํ๋๋ฐ ์ปค๋ฐ์ ์์ ํ๋ ๊ฒ์ด ๋๊ฐํ๋ค.
git commit --amend๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ pushํ๊ธฐ ์ด์ ์ ์ปค๋ฐ๋ง ๊ฐ๋ฅํ๊ณ ์ต๊ทผ์ ์ปค๋ฐ๋ง ์์ ์ด ๊ฐ๋ฅํ๋ค.
๊ทธ๋์ ๋๋ ์ต๊ทผ์ pushํ ์ปค๋ฐ์ ์ญ์ ํ๊ณ ๋ค์ ์ปค๋ฐํ๋ ๋ฐฉ๋ฒ์ ๊ณ์ํด์ ์ด์ฉํ๋ค.
์๋ง ์ปค๋ฐ์ ํ๊ณ ํ๋ฒ์ pushํ๋ ๋ฐฉ๋ฒ์ด ์ข์์ง ์ปค๋ฐ์ ํ๊ณ ํธ์๋ฅผ ๋ฐ๋ก๋ฐ๋ก ํ๋ ๋ฐฉ๋ฒ์ด ์ข์์ง์ ๋ํ ํ๋จ์ด ์์ง ์์์ ๊ทธ๋ฅ ์ฒ์์ ์๊ฒ ๋ ๋ฐฉ๋ฒ๋๋ก ์ปค๋ฐ -> ํธ์๋ฅผ ๋ฐ๋ณตํ๋ค๋ณด๋ ์ต๊ทผ push commit ์ญ์ -> ๋ค์ commit -> ๋ค์ push ์ ๋ฐ๋ณต์ด์๋ค.
์ฌ๊ธฐ์ ํน์ ์ต๊ทผ์ pushํ commit์ ์ญ์ ํ๋ ๋ช ๋ น์ด๋ ์๋์ ๊ฐ๋ค.
git rebase HEAD^
๊ทผ๋ฐ ์ต๊ทผ์ ๊ธฐ๋ฅ ๊ตฌํ์์ ์ปค๋ฐ์ ํ๋ค๊ฐ ์ปค๋ฐ ๋ฉ์์ง์ <scope>๊น์ง ํฌํจํด์ ์ ๊ณ ์์๋๋ฐ
- <scope> ์ค๋ช : https://sundery.tistory.com/218
ํด๋๋ช ์ ๊ทธ๋ฅ (utils)๋ก ์์ฑํด๋ ๋๋๋ฐ ํ์ผ์ ํ์ฅ์๋ช ์ ๊ผญ ์์ฑํด์ผ ํ๋? ํ๋ ์๋ฌธ์ด ๋ค์๋ค. ๊ทผ๋ฐ ํ์ฌ ๋ด๊ฐ ์์ฑํ๋ ํ์ผ์์๋ .js ํ์ฅ์ ๋ฐ์ ์๊ธฐ ๋๋ฌธ์ ์๋ตํ๋ ๊ฒ์ด ๊น๋ํ ๊ฒ ๊ฐ๋ค.
๊ทผ๋ฐ ๋ง์ฝ์ .js ๋ฅผ ๋ถ์ด๋ ๊ฒ ๋์ ์ํฉ์ธ๋ฐ "๋ชจ๋ ์ปค๋ฐ์ ํ์ฅ์๋ช ์ ๋ถ์ฌ์ฃผ์ง ์์๋ค๋ฉด ํ๋ฒ์ ์ด๋ป๊ฒ ์์ ํ์ง?" ํ๋ ๊ถ๊ธ์ฆ์ด ์๊ฒจ์ ์๊ฒ ๋ ๋ฐฉ๋ฒ์ด๋ค.
์๋ง ์์ผ๋ก๋ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์ ํ ๋ ์์ฃผ ์ฌ์ฉํ ๊ฒ ๊ฐ๋ค.
๋ณธ๋ก
์ฐ์ ๋ด๊ฐ ์์ฑํ ๊น ์ปค๋ฐ์ด ๋ฌด์์ด ์๋์ง, ๋ช ๊ฐ๊ฐ ์๋ ์ง ํ์ธํด์ผ ํ๋ค.
git log --oneline
์ด๋ ๊ฒ ์ ๋ ฅํ๋ฉด ์ปค๋ฐ์ ๊ฐฏ์์ ์ด๋ค ์ปค๋ฐ์ ํ๋์ง ๊ธฐ๋ก์ ํ์ธํ ์ ์๋ค.
๊ฐ์ฅ ์ต๊ทผ์ ์ปค๋ฐ์ด ์ต์๋จ์ ๋ํ๋์๋ ๋ด๋ฆผ์ฐจ์ ํ์์ด๋ค.
์ฌ๊ธฐ์ ๋ง์ฝ 0006384์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์ ํ๊ณ ์ถ๋ค๋ฉด ์์์๋ถํฐ ๊ฐฏ์๋ฅผ ์ธ๋ฉด ๋๋ค.
์ต๊ทผ ์ปค๋ฐ์์ 3๋ฒ์งธ์ ์๊ธฐ ๋๋ฌธ์ git rebase -i HEAD~3์ ์ ๋ ฅํ๋ฉด ๋๋ค.
๊ทธ๋ผ ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋์จ๋ค.
์ฌ๊ธฐ์ pick ๋ถ๋ถ์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์ ํ์ง ์๊ณ ๊ณ ์ ํด๋๊ฒ ๋ค๋ ์๋ฏธ์ด๊ณ ์์ ํ๊ณ ์ถ์ ์ปค๋ฐ ๋ฉ์์ง๋ pick์ ์ง์ฐ๊ณ edit์ ์ ์ด์ค๋ค.
* ์ฌ๊ธฐ์ ํท๊ฐ๋ฆฌ์ง ๋ง์์ผ ํ ๋ถ๋ถ์ oneline๊ณผ ๋ฐ๋๋ก ๊ฐ์ฅ ์ค๋๋ ์ปค๋ฐ ๋ฉ์์ง๊ฐ ์ต์๋จ์ ๋จผ์ ๋ฌ๋ค.
์ด์ edit์ผ๋ก ๋ฐ๊พผ ์ปค๋ฐ ๋ฉ์์ง์ ๊ธ์๋ฅผ ๋ณ๊ฒฝํ๊ณ Ctrl + X๋ฅผ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ ๋ฉ์์ง๊ฐ ๋ฌ๋ค.
์ฌ๊ธฐ์ ์์ ์ ์ํ๋ฉด Yํค๋ฅผ ๋๋ฅด๊ณ Enter๋ฅผ ๋๋ฅด๊ณ ๋์จ๋ค.
๊ทธ๋ผ ๋ฐ๋ก ์์ ๋๋ ๊ฒ์ด ์๋๋ผ ์๋์ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ๋ฌ๋ค.
์ฌ๊ธฐ์ git commit --amend๋ฅผ ์ ๋ ฅํด์ฃผ์ง ์์ผ๋ฉด ์์ ๋์ง ์์ผ๋ ๊ผญ amend๋ฅผ ์ ๋ ฅํด์ผ ํ๋ค.
์ ๋ ฅํ๋ฉด ์๋์ ๊ฐ์ ์ฐฝ์ผ๋ก ๋ค์ ์ ์ํ๊ฒ ๋๋ค.
์ฐจ๋ก๋๋ก edit ์ ์ ์๋ ์ปค๋ฐ์ ์์ ํ ์ ์๋ค.
์ฌ๊ธฐ์ ๋ค์ Ctrl + X๋ฅผ ๋๋ฅด๊ณ Y๋ฅผ ์ ๋ ฅํ ํ Enter๋ฅผ ๋๋ฅด๋ฉด ๋ค์ ๋ฐ์ผ๋ก ๋์ค๋๋ฐ ์ด๋๋ ์์ ์ด ์๋ฃ ๋์ด์๋ค.
์ฌ๊ธฐ์ git rebase --continue๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ์์ ์ด ์๋ฃ๋๋ค!
๊ฒฐ๋ก
์ฌ๋ฌ ๊ฐ์ ์ปค๋ฐ์ ํ๋ฒ์ ์์ ํ๊ณ ์ถ์ ๋ ๋งค์ฐ ์ ์ฉํ ๊ฒ ๊ฐ๋ค. ์๋ง ๊ธฐ๋ฅ์ด ๋ง์์ ์ปค๋ฐ ๋ฉ์์ง ์์ ๋ฟ๋ง ์๋๋ผ ์ฝ๋๋ ์์ ์ด ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ์๊ฐ๋๋ค! ์ปค๋ฐ์ ์ฝ๋๋ฅผ ์์ ํ๊ณ ์ถ์๋ ํ๋ฒ ๋ ์ฌ์ฉํด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค
์ฐ์ ๋ค์ ๊ธฐ๋ฅ ๊ตฌํ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ rebase๋ก ์ฝ๋๋ฅผ ์์ ํ๋ ๊ฒ์ ๋ค์์ ์์๋ด์ผ๊ฒ ๋ค.
'๐ Front-End > Git&Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] Git Commit Message Conventions - ์ปค๋ฐ ๋ฉ์์ง ๊ท์น (4) | 2024.10.15 |
---|---|
[Git] Merge ๊ฐ๋ (Merge, Fast-Forward, Three-Way, Rebase / Squash & Merge) (4) | 2024.09.23 |