ETC/1. Today I Learned

[Git] 실수로 커밋했을 때 해결법

montmer27 2026. 3. 18. 22:31

상황: 개인 브랜치에서 작업해야 하는데, 정신 차리고 보니 이미 dev에 커밋을 했다면?

해결: 커밋하기 전이었다면 개인 브랜치로 체크아웃 후 커밋하면 변경사항이 그대로 반영되겠지만, 이미 커밋을 한 경우 해당 커밋을 취소해야 한다. 취소 후 staging area에 남길 것인지, 남기지 않고 내릴 것인지도 정해주면 된다.

git reset HEAD~1 --soft

취소할 커밋이 많다면 HEAD~ 뒤에 숫자를 바꾸면 된다.

--soft: 커밋만 되돌리고, 변경사항은 Staging Area(Index)에 그대로 유지하는 옵션

--mixed(기본값): 커밋만 되돌리고, 변경사항을 unstage함.

--hard: staging area와 working directory 모두 초기화함 (위험! 오늘 이거 했다가 application-prod.yml 파일 날렸다)