git reset / 커밋 되돌리기

박다영·2023년 3월 3일
0

git

목록 보기
12/12

테스트한 내용을 지우지 않고, 커밋을 올려버렸다.
이 기회에 다시 덮어쓰기 위한 방법을 간단 정리해보려고 한다.

주의
git reset 은 로컬 혹은 다른 사람과 공유하지 않는 브랜치에서만 사용할 것!


1. 내가 돌릴 커밋 위치 확인 / git log

쫙 다 보고싶을 때!

git log 


한줄로 간결하게 보고싶을 때!

git log --oneline 


2. 돌아가기 / reset --soft

reset --soft 하면 잘못올린 커밋을 날리기 직전 상태로 돌아옴.
작업 내용들이 stage 된 상태!

git reset --soft [돌아갈 커밋의 id 혹은 커밋 참조]
git reset --soft 408a048

git reset --soft HEAD~1


3. 다시 커밋 날려주기 (로컬 커밋 변경 완)


4. 원격 커밋도 덮어써주려면? / --force

원격 레포에도 이미 커밋을 올린 상태라면, 그냥 git push 하면 히스토리가 달라서 에러가 남.

그럴 땐, --force 를 사용해 로컬 commit history를 origin commit history로 덮어야 함!

git push --force

커밋 내역 확인해보니 잘 수정이 되었다!


참고

https://kyounghwan01.github.io/blog/etc/git/git-reset-revert/#reset
https://antilog.tistory.com/32

profile
개발과 디자인 두마리 토끼를!

0개의 댓글