
์ ๋ ๊ฐ๋ฐํ ๋ด์ญ์ ์ปค๋ฐ ํ ๋์ ๊ฐ๋ ํ์ผ์ ๋ช ๊ฐ ๋นผ๋จน๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค.
๊ทธ๋ด ๋๋ง๋ค reset ํ ๋ค์ ํด๋น ํ์ผ์ ํฌํจํด ์ปค๋ฐ์ ํ๊ฑฐ๋ ๊ท์ฐฎ์ผ๋ฉด ๊ทธ๋ฅ ๊ทธ ์์ ์๋ก์ด ์ปค๋ฐ์ ๋ ๋ ธ์๋๋ฐ ์ต๊ทผ ์ปค๋ฐ ๋ด์ญ ๊ด๋ฆฌ์ ์ค์์ฑ์ ๋ผ์ ๋ฆฌ๊ฒ ๋๋ผ๊ฒ ๋๋ฉฐ ๊ฐ์ ์ปค๋ฐ์ ๋ ๋ฒ ๋ ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ง ์๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด์์ต๋๋ค.
git commit --amend
์ปค๋ฐ ์ต์ ์ค ํ๋์ธ --amend ์ต์ ์ ์ถ๊ฐํด staged ์ํ์ธ ํ์ผ์ ํ์ฌ HEAD๊ฐ ์์นํ ์ปค๋ฐ์ ์ถ๊ฐ ํ๊ฑฐ๋ ์์ ํ ์ ์์ต๋๋ค.
์ํ๋ ํ์ผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
- git restore --staged . ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ํ์ฌ staged ์ํ์ธ ํ์ผ์ unstage ์ํ๋ก ๋ง๋ค์ด์ค๋๋ค.
- git add [์ํ๋ ํ์ผ] ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด commit ํ๊ณ ์ถ์ ํ์ผ์ staged ์ํ๋ก ๋ง๋ค์ด์ค๋๋ค.
- git commit --amend ๋ช
๋ น์ด๋ฅผ ์
๋ ฅ ํ :wq๋ฅผ ์
๋ ฅํด vim์ ์ข
๋ฃํด์ค๋๋ค.
- --no-edit ์ต์ ์ ์ฌ์ฉํด vim์ ์คํํ์ง ์๊ณ ์งํํ ์๋ ์์ต๋๋ค.
๐จ ์ฃผ์์ฌํญ
git commit --amend๋ฅผ ์ฌ์ฉํด push๋ ์ปค๋ฐ์ ์์ ํ๋ฉด ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ด๋ฏธ push ๋ ์ปค๋ฐ์ ์์ ํ๋ ๊ฒฝ์ฐ git push --force๋ฅผ ์ฌ์ฉํด ๊ฐ์ ๋ก push ํ ์ ์์ง๋ง, ์ด๋ ๊ฒ ํ๋ค๋ฉด ํ์คํ ๋ฆฌ๋ฅผ ๋ง๊ฐ๋จ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ์ ์คํ๊ฒ ์งํํด์ผ ํฉ๋๋ค.