[Git] git reset 으로 커밋 취소하기
천둥상어
·2024. 7. 19. 14:55
프로젝트 회의에서 어떠한 기능이 필요없다고 결정이 되었다.
그래서 개발자는 관련 소스를 모두 지우고 커밋 했다.
그런데 잠시 후 그 기능을 사용하기로 결정이 바뀌었다.
이 경우 checkout 으로 삭제전 커밋 해시로 되돌리고 커밋하면 될것이다.
하지만 이 과정이 이력으로 남게 된다.
만약 이력을 남기지 않고 삭제전 상태로 되돌리고 싶다면
git reset으로 브랜치의 참조 커밋을 바꿔주면 된다.
이렇게 되면 참조 커밋을 마지막 커밋으로 인식하게 되면서
그 후의 이력은 모두 무시된다.
git reset 커밋 취소(최신 커밋으로 재설정)
아래 로그에서 해시값(1c75ca5)는 test 폴더를 지운 마지막 커밋이다.
이전 해시값(7c455b9)을 최신 커밋으로 재설정 해본다.
git reset --hard 7c455b9
실행하면 참조하는 해시값이 바뀌었다고 나온다.
로그를 출력하면 참조하는 해시값이 마지막 커밋이 된것을 확인할 수 있다.
참고로 1c75ca5 커밋이 삭제된 것은 아니다.
해시값만 기억하고 있다면 이 역시 git reset으로 되돌릴수 있다.
개인적인 생각이지만...
커밋 이력을 남기고 싶지 않다는 이유로 이렇게 사용할 필요가 있나 싶다.
내 경험상 롤백을 하게 된다면 그 역시 업무이고 메시지를 작성해서
이력을 남기는 게 맞다.
롤백이 자주 일어난다면 업무 프로세스에 문제가 있는 것이므로
이런한 이력을 바탕으로 개선을 건의해야 한다.
'프로그래밍 > Git&GitHub' 카테고리의 다른 글
[GIt] git checkout 으로 커밋 되돌리기 (0) | 2024.07.15 |
---|---|
[Git] git reset 으로 git add 취소하기 (언스테이징) (0) | 2024.07.07 |
[Git] git add & git commit 사용법 (스테이징&커밋) (0) | 2024.07.06 |
[Git] 원격저장소 복사하기 git clone (1) | 2024.07.04 |
[Git] 원격저장소에서 로컬저장소로 가져오기 (1) | 2024.07.03 |