버그가 발생하였거나, 이전 commit으로 되돌리고 싶을 때 reset을 사용한다.
하지만 reset은 매우 위험한 작업이기 때문에 조심해서 사용해줘야 한다.
reset을 알고 사용하면 아주 쉽고 안전하게, 이전 커밋으로 원상복구 시킬 수 있다.
reset 사용법에 대해 알아보자 :)
▶ reset 하는 방법
git reset --hard [ commit ID ]
현재 상태가 Head → master → B이고, B에 버그가 발생하여 A Commit으로 되돌리려 한다고 가정하자.

git reset --hard A 실행 시, 현재 상태는 Head → master → A로 변경되고, B file이 삭제된다.
이때, B 파일로 커밋을 다시 되돌리고 싶다면, B의 commit ID를 꼭 적어놓고 기억해놓아야 한다.⭐⭐
(commitID를 적어놓지 않았다면.. 되돌릴 방법은 없다..ㅠㅠ)
그러니 reset을 하기 전에는 commitID를 꼭꼭꼭 확인하고 적어놓자!!
git reset --hard B 실행 시, 현재 상태는 Head → master → B로 변경되고, B file이 복구된다.
(단, B file의 commit ID를 꼭 기억하고 있어야 함)

▶ head가 가리키는 값에 따른 reset의 차이
Head → maser 인 경우, git reset --hard A
Head가 master를 가리키고 있는 경우, 현재 상태는 Head → master → A으로 변경되고 B가 삭제되는 효과를 낸다.
Head → A 인 경우, git reset --hard B
Head가 A를 가리키고 있는 경우, 현재 상태는 Head → B / master → B로 변경되고 git checkout B와 같은 효과를 낸다.
(Head와 master 둘 다 B를 가리킨다.)

▶ VS Code에서 reset 하는 법
혹은 vs code에서 reset 하는 방법도 있다.
1. vs code 왼쪽 블록 모양 아이콘(확장)을 클릭하고, 검색창에 "git graph"를 검색하여 설치
2. git graph 상에서 돌아가고 싶은 commit에 오른쪽 마우스를 클릭
3. "Reset current branch to this Commit..." 버튼 클릭 (되돌릴 수도 있으니, 꼭 현재 commitID를 적어놓자.)

4. 그다음 이런 창이 뜨는데, "Hard"로 클릭하고 "Yes, reset" 버튼을 누르면 reset이 완료된다.

'Github' 카테고리의 다른 글
| [Git] 자주 쓰는 Git command 용어 정리 + git checkout (0) | 2022.11.26 |
|---|
댓글