๐ ๋ฌธ์ ์ํฉ
๋ค๋ฅธ ์ปดํจํฐ์์ ๋ฒ์ ๊ด๋ฆฌ ์์ ์ ํ๋ค๊ฐ ์ด๋ฐ ์์ผ๋ก
user.name, user.email ์ ์ค์ ํ์ง ์์ ์ฑ commit์ ํด๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
1. Interactive Rebase
# ์ฌ๊ธฐ์์ COMMIT-HASH ๋
# ๋ด๊ฐ ๋ณ๊ฒฝํ๊ณ ์ ํ๋ ์ปค๋ฐ ์ด๋ ฅ์ '์ ' COMMIT ์ด์ด์ผํ๋ค.
$ git rebase -i [COMMIT-HASH]
์ฌ๊ธฐ์๋ 'b19d6cc', 'aca3ccd' ์ commit ์ด๋ ฅ์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด
๊ทธ ์ด์ ์ธ 'c4f4bba' ๋ก rebase ํด์ผํ๋ค.
2. edit ๋ณ๊ฒฝ ๋์ commit
์ด๋ commit ํด์ ์์ 'pick' ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ์ด์๋๋ฐ
'edit' ์ผ๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด ํด๋น commit์ ๋ณ๊ฒฝํ ์ ์๋ค.
3. Commit ์ด๋ ฅ ๋ณ๊ฒฝ
์ฌ๊ธฐ์๋ user.name, user.email ์ ๋ณ๊ฒฝํ๋๊ฒ ๋ชฉํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ ์ ์๋ค.
git commit --amend ๋ ๊ฐ์ฅ ์ต์ ์ปค๋ฐ ์ด๋ ฅ์ ๋ณ๊ฒฝํ๋ ์ปค๋งจ๋๋ค.
4. ๋ชจ๋ commit ์ด๋ ฅ ๋ณ๊ฒฝ์๊น์ง ๋ฐ๋ณต
git commit --amend ๋ฅผ ํตํด ๋ชจ๋ commit ์ด๋ ฅ ๋ณ๊ฒฝ์๊น์ง ๋ค์ ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ณตํ๋ค.
5. Push
์๊ฒฉ repository ์ ๋ฐ์ํ๋ค.
๐ ๊ฒฐ๊ณผ ํ์ธ
๋จ ํ์ค๋ก ์ต๊ทผ N๊ฐ์ COMMIT ์์ฑ์ ์ ๋ฐ์ดํธ
์ปค๋ฐ ๋ฉ์์ง์ ๋ด์ฉ ๋ณ๊ฒฝ์ด ์์ ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ๋๋ค.
-x == --exec <cmd>
ํ๋ผ๋ฏธํฐ๋ก ์คํ์ํฌ cmd (๋ช ๋ น์ด)๋ฅผ ์คํ์ํจ๋ค.
--no-edit
์๋ํฐ ๋ฐ์นญ ์์ด ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ํํ๋ ์ต์
์์ ๊ฒฝ์ฐ ์ปค๋ฐ ๋ฉ์์ง ๋ณ๊ฒฝ ์์ด HEAD ๋ก๋ถํฐ ๋๋๋ฆด COMMIT ๊ฐฏ์ ๋งํผ์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ํํ๋ค.
(ํด๋น ๋ฉ์์ง๋ฅผ pick ํ ์ํ)
=> ์ต๊ทผ N๊ฐ์ commit ๋ฉ์์ง๋ฅผ ์๋ํฐ ๋ฐ์นญ์์ด ๋์ด์ฒด, "git commit --amend --author ~" ๊ฐ์ ์คํ์ํจ๋ค.
=> ์ต๊ทผ N๊ฐ commit ๋ฉ์์ง์ ์์๋ฅผ ๊ณง๋ฐ๋ก ์์ ํ ์ ์๋ค.
๐ Reference
'๊ธฐํ > git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[git] tag (0) | 2022.03.19 |
---|---|
[git] ์๋ก ๋ค๋ฅธ repository ํฉ์น๊ธฐ (0) | 2022.03.14 |
[Error] git push Error (non-fast-forward) (0) | 2022.03.11 |
[git] Rebase vs Merge request, Pull request (0) | 2021.12.28 |
[Git] config (0) | 2021.11.11 |