본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

VCS/git

소스트리 커밋되돌리기 soft, mixed, hard

결론, 쓰다보면 보통 커밋되돌리기 - hard만 쓰게 된다.

으로 이해하고 아래 캡쳐본과 함께한 설명은 좀더 깊게 이해하고 싶은 경우에만 보도록 하자.

원하는 커밋선택 - 마우스오른쪽 - 커밋되돌리기 - hard체크 - 확인

 

 

 

원하는 커밋선택 - 마우스오른쪽 - 커밋되돌리기

현재 A.txt는 4번째 수정까지 완료되었다. 이것을 되돌린다면 아마 3번째 수정된 내용만 남을 것이다 확인해보자.

 

 

확인

4번째 수정내용을 삭제하고 3을 추가해 되돌린것을 히스토리와 해당 파일을 통해 확인 할 수 있다.

 

 

+ 추가테스트

여기서 궁금증이 생긴다 4번째 수정을했다가 3번째로 커밋을 되돌렸다. 그렇다면 한번더 되돌리면 어떻게될까?

 

 

4번째 수정이 생긴것을 확인할 수 있다. 커밋되돌리기는 파일으로 열어봤을때 자칫 커밋취소로 생각될 수 있으나

사실 이전 커밋내용으로 다시 덮어쓰기를 했다는 것을 확인할 수 있다.

 

다시한번 revert해도 마찬가지

 

 

다시한번 revert해도 마찬가지

 

 

그리고 이 모든 덮어쓰기 내용은 기록으로 남는다.

 

 

 

 

위 revert처럼 덮어쓰기/기록을 남기지 않고 되돌릴순 없을까?

그 종류에는 soft, mixed, hard가 있는데 우선 soft와 hard를 비교해보자.

현재 A.txt는 수정되었지만 커밋은 하지 않은 상태다

 

 

soft로 되돌려보자.

 

 

 

커밋하지않은 변경사항 기록과 스테이지에 올라기전 기록들이 모두 남은채 커밋내용만 사라졌다.

 

 

 

 

 

그렇다면 hard는 어떨까?

 

 

변경내용, 커밋내용 스테이지의 모든 변경사항이 사라진것을 확인할 수 있다.

 

 

 

 

 

그렇다면 mix와 soft의 차이는 무엇일까?

앞서 soft는 파일상태내용을 전혀 손대지 않았지만 mix는

 

 

 

스테이지에 올라간 내역을 지웠다, 대신 삭제해버린 hard와는 다르게

슬그머니 스테이지 대기목록으로 이동해 준것을 확인 할 수 있다.

 

 

 

다시한번 확인해보는김에 수정한 A파일을 커밋초기화 hard로 삭제해보자.

 

 

 

임시저장

임시저장할 경우, 따로 분리되어 자장되어 수정내용은 이전으로 돌아가게 된다

.

 

 

스테시를 적용하면 임시저장한 내용을 띄워 작업할 수 있다.