IT/Git
Git reset , revert
WsCode
2022. 2. 23. 10:46
그림처럼 총4번의 커밋으로 이루어진 프로젝트가 있습니다.
- First commit : 최초 커밋
- A file Create : A파일 생성
- B file Create : B파일 생성
- A file Delete , C file Create : A파일 삭제, C파일 생성
reset
현재 지점에서 reset을 하게되면 해당지점으로 돌아가게됩니다.
git bash를 통하여 git log를 입력하게되면 commit 옆 해당지점 값 입니다.
git log
해당 지점 값을 입력하여 돌아갈수있습니다.
git reset --hard 주소값
B file Create 지점으로 리셋을 하게되면 마지막으로 작업했던 A file Delete , C file Create 작업전으로 이동하게됩니다.
즉 A파일은 다시 생성되고 C파일은 없어지는것이죠.
그래프도 작업전으로 돌아가는것을 확인하실수있습니다.
revert
다시 원점으로 돌아가서 처음과같은상황입니다.
마지막 작업건을 revert로 취소해보겠습니다.
git revert 값
깃배쉬로 git revert를 입력시 아래와같이 화면이 이동되는데 커밋메세지 변경을 위한 화면입니다. 메세지 변경 후 :wq 엔터를 입력해주시면 됩니다.
revert의 결과는 위와같습니다. 취소작업을 커밋하여 기록으로 저장합니다.
취소작업또한 작업이니깐 이렇게 흔적을 남겨서 나중에 revert작업을 또 revert하여 원복시키는것도 가능합니다.
만약 revert는 하여도 커밋을 하기싫으시다면 아래와같이 사용해주시면 됩니다.
git revert --no-commit 값