반응형
Git 명령어 reset을 사용하여 commit 되돌리기
git reset은 Git에서 커밋을 되돌리는 방법이다.
soft reset은 파일의 변경 내용은 그대로 보존하는 방법이다.
특정 커밋으로 되돌리면서 커밋 기록은 삭제하고, 변경 사항은 작업 디렉터리에 남겨 두고 싶을 때 사용한다.
이는 주로 커밋을 잘못했거나, 커밋 메시지를 수정하고 싶을 때 유용하다.
--hard, --mixed 옵션을 사용한 reset 방법도 있으며 --hard같은 경우에는 사용에 주의를 해야한다.
사용 예제
1. 마지막 커밋을 리셋하고 싶을 때 사용한다.
git reset --soft HEAD~1
- 이 명령은 마지막 커밋을 되돌리고 해당 커밋의 변경 사항은 스테이징된 상태로 남겨둔다.
- 이후 git commit --amend를 통해 커밋메시지를 수정하거나 git commit으로 새로운 커밋을 만들 수 있다.
2. 특정 커밋 해시로 리셋을할때 사용한다.
git reset --soft abc1234
- abc1234는 되돌리고자 하는 커밋의 해시이다.
- 커밋의 해시는 git reflog로 확인 가능하고 github에서 커밋 history를 확인하면 된다.
- 이 명령은 해당 커밋 이후의 모든 커밋을 되돌리고 변경 사항을 스테이징 영역에 남겨둔다.
리셋 모드의 차이점
--soft: 커밋만 되돌리고 변경 사항은 스테이징된 상태로 유지한다.
--mixed: 커밋을 되돌리고 변경사항은 스테이징에서 해제하여 작업 디렉토리에 남긴다.
--hard: 커밋을 되돌리고 변경사항을 모두 삭제하여 커밋 이전상태로 되돌린다.
반응형
'개발 환경세팅 > Git, Github' 카테고리의 다른 글
[GitHub] GitHub Actions 정리 (1) | 2024.11.06 |
---|---|
[Git, Github] 버전 태그 생성 (0) | 2024.10.19 |
[Git/Github] Blame, Ls-tree, Clean, Gc, Archive (0) | 2024.09.20 |
[Git/Github] Stash, Tag, Revert, Reset, Rev-parse (0) | 2024.09.19 |
[Git/Github] Log, Status, Show, Shortlog, Reflog (0) | 2024.09.18 |
댓글