Hayden's Archive

[Git] Git CLI 심화 (3) - 커밋 이력 편집 본문

Study/DevOps

[Git] Git CLI 심화 (3) - 커밋 이력 편집

_hayden 2020. 6. 20. 19:31

자료 출처 : 플레이데이터 Git 입문 강의 (변영인 강사님)

- 깃을 관리하는 과정에서 커밋 메세지를 잘못 입력하거나 잘못된 브랜치 사용 등으로 커밋 이력을 수정하고 싶을 수 있음.

 

* 이전에 작성한 커밋 수정하기

 


* 커밋 메세지를 수정할 게 아니라 커밋 자체를 삭제해야 할 경우

- soft는 이외에 변경사항이 없고 mixed는 스테이징된 내용도 지워버림. hard는 인덱스 너머 작업공간도 지정한 커밋 이후 변동사항을 모두 삭제함.

 

- 바로 직전 커밋으로 돌아가기

 

- 지정한 커밋으로 돌아가기

//reset-soft 브랜치

git log 입력하면 최신 커밋이었던 ver 2가 사라진 것 확인.

 

ver2 메세지로 커밋되었던 내용은 취소되어 스테이지로 돌아갔고 cat으로 보면 작업 트리의 파일은 아직 영향 안 받음

 

//reset-mixed 브랜치

 

//reset-hard 브랜치

 


* git reset 과 git revert의 차이점

- reset : 커밋 이력 자체를 없애버림. 원격 저장소와 충돌 또는 커밋 히스토리 상실 가능성.

- revert : 커밋 내용을 삭제한다는 새로운 커밋을 만듦(덮어 씌우기). 커밋 히스토리 유지.