[git] reset 으로 작업 되돌리기

특정 시점의 commit 으로 작업한 내용을 되돌리고 싶을 때가 있다.

git reset 을 이용해 이를 해결해보자!

먼저 branch 이동

현재 branch 는 main branch 이다.

이 branch 에서 reset 작업을 할 수도 있지만

안정성 확보를 위해 추가 branch 생성 및 이동 후

이동한 branch 에서 작업을 해보겠다.

아래 코드를 참고해보자

(checkout 대해서는 추후에 작성하겠다)

$ git checkout -b "추가 및 이동 예정인 branch" // "" 생략

reset option

위 사진과 같이 git reset 의 option 은 여러가지가 있지만

이 글에선 hard, soft 두 가지를 다뤄보겠다.

reset — hard

$ git reset --hard “commit HASH// "-" 2개임, "" 생략

위 코드를 통해 reset 을 하면 아래 사진과 같이 작업하던 내용 자체

reset 한 commit 에 따라서 강제로 변한다.

따라서 —hard option 은 위험한 option 이니 잘 판단해서 사용하면 되겠다.

예시

$ git reset --hard a29518a2fbe6efde79834c6e696ce918ffe17d78 // 최초 commit HASH

reset —hard 전 폴더 내용

branch : main

reset —hard 후 폴더 내용

branch : hardtest

reset — soft

$ git reset --soft “commit HASH// "-" 2개임, "" 생략

위 코드를 통해 reset 을 하면 현재 commit ~ reset 전까지의 commit

git stage 위에 add 된다.

git log 를 통해 stage 를 확인해보면 stage 에 reset 전 까지의 commit 이

Changes to be committed 로 add 된 상태임을 알 수 있다.

따라서 soft opiton 은 파일 자체가 강제로 변하는

hard 보다는 안전한 선택이니 상황에 따라서 이용해보자

좋은 웹페이지 즐겨찾기