Git을 쓰면서 커밋을 조금 더 쉽게 할 방법이 없을까 찾아보게된다. Git은 보통 리눅스 기반 쉘에서 TUI, 즉 텍스트 사용자 인터페이스로 조작하기때문에 조금은 어려운 느낌이 있다. 이걸 좀 더 쉽게 하려고 인터페이스(GUI)를 제공하는 SourceTree 같은 도구를 사용해 보았다. sourceTree와 함께 Reset과 Revert에 대해 알아보자
우선 파일을 아래와 같이 차례대로 입력한다.
revert 는 버전을 이전의 상태로 되돌리지만 새로 바뀐 버전을 새로운 버전으로 만들어 커밋하는 것을 말한다.
여기서 중요한 부분은 '새로운 버전'으로 라는 말이다.
revert를 한 결과 새로운 커밋이 생성되는것을 확인할 수 있다.
!! 여기서 주의할점
revert의 경우 돌아가고자하는 커밋과 현재 커밋간의 충돌이 발생할수 있다
이부분이 굉장히 피곤할것같다..
(보통 한줄에 추가할 부분과 삭제할 부분이 겹치게 될 경우 발생한다.)
참고하자! ⇒ https://youtu.be/FqIL4vZafwU?si=Hl3Yko_fcprbViVR
reset의 경우 revert와 다르게 변경 내용을 새로 저장하지 않고 한번에 지워버리기 때문에 충돌이 발생하지 않는다는 점에서 간편한것 같다.
reset에는 3가지 옵션이 있다.
먼저 soft 버전이다.
우선 revert된 저 커밋이 마음에 들지 않으니 한번 지워 보겠다.
soft로 reset을 하게 된다면 스테이지에 올라온 채로 유지될 것이다.
예상햇던대로 스테이지에 변경사항은 add 되어있고 커밋만 삭제된 것을 확인할 수 있다.
이번에는 mixed로 해보자.
soft와 다르게 스테이지에서 내려간 파일을 확인할 수 있다.
마지막으로 hard 버전이다.
모든 내용이 사라졌음을 확인할 수 있었다.. hard는 항상 조심하도록하자..