DevOps/Git

[Git] Commit ๋ฉ”์‹œ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ

sol_git 2024. 12. 8. 10:00

 

๐Ÿ”‘ 1. ์•„์ง Commit์ด Local์— ์žˆ๋Š” ๊ฒฝ์šฐ

Remote์— push๋Š” ํ•˜์ง€ ์•Š๊ณ , Local์— commit๋งŒ ํ•ด๋†“์€ ๊ฒฝ์šฐ!

 

โœจ๊ฐ€์žฅ ์ตœ๊ทผ์˜ commit ์ˆ˜์ •ํ•˜๊ธฐ

  1. ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ๋ธŒ๋žœ์น˜์—์„œ ๋กœ๊ทธ์ธ ๋œ ์ƒํ™ฉ์—์„œ git commit --amend ๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ!
  2. ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๊ฒŒ ๋จ!
  3. ๋…ธ๋ž€ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•œ ํ›„, esc๋ˆ„๋ฅด๊ณ  :wq (์ €์žฅ+์ฐฝ๋‹ซ๊ธฐ) ํ•ด์ค€ ํ›„ ์ข…๋ฃŒ!

โœจ ์˜ค๋ž˜๋œ commit ์ˆ˜์ •, ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ commit ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. ์ปค๋งจ๋“œ ๋ผ์ธ์— git log๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ!
  2. ์œ„์—์„œ๋ถ€ํ„ฐ ๋ช‡ ๋ฒˆ์งธ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•  ๊ฒƒ์ธ์ง€ ํ™•์ธํ•˜๊ณ , git rebase -i HEAD~์ˆซ์ž ์ž…๋ ฅํ•˜๊ธฐ!
  3. ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€ ์ปค๋ฐ‹ ์˜†์— pick์„ ์ง€์šฐ๊ณ , reword๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ
  4. esc -> :wq ํ•˜๊ณ  ๋‚˜๋ฉด, reword๋กœ ๋ฐ”๊พผ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ฐฝ์ด ๊ฐ๊ฐ ๋œจ๊ฒŒ ๋จ!
  5. ์›ํ•˜๋Š” ๋Œ€๋กœ ์ปค๋ฐ‹ ์ˆ˜์ • ํ›„ :wq ์ €์žฅํ•˜๋ฉด ๋!



๐Ÿ”‘ 2. ์ด๋ฏธ remote์— push ๋œ ๊ฒฝ์šฐ

force push ๋ฐ–์— ๋‹ต์ด ์—†์œผ๋‚˜, github์—์„œ๋Š” ๊ณต์‹์ ์œผ๋กœ force๋ฅผ ์ง€์–‘ํ•˜๋„๋ก ๊ถŒ์žฅํ•จ.
(push ๋œ ์ปค๋ฐ‹์˜ ๋กœ๊ทธ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋˜ ๋‹ค๋ฅธ ํŒ€์›๋“ค์ด ๋กœ๊ทธ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ)

local์—์„œ commit ๋ฉ”์‹œ์ง€ ์ˆ˜์ • ํ›„, git push --force ๋ธŒ๋žœ์น˜์ด๋ฆ„ ํ•ด์ฃผ๋ฉด ๋จ!