Hayden's Archive
[Git] Git CLI 심화 (3) - 커밋 이력 편집 본문
자료 출처 : 플레이데이터 Git 입문 강의 (변영인 강사님)
- 깃을 관리하는 과정에서 커밋 메세지를 잘못 입력하거나 잘못된 브랜치 사용 등으로 커밋 이력을 수정하고 싶을 수 있음.
* 이전에 작성한 커밋 수정하기
* 커밋 메세지를 수정할 게 아니라 커밋 자체를 삭제해야 할 경우
- soft는 이외에 변경사항이 없고 mixed는 스테이징된 내용도 지워버림. hard는 인덱스 너머 작업공간도 지정한 커밋 이후 변동사항을 모두 삭제함.
- 바로 직전 커밋으로 돌아가기
- 지정한 커밋으로 돌아가기
//reset-soft 브랜치
git log 입력하면 최신 커밋이었던 ver 2가 사라진 것 확인.
ver2 메세지로 커밋되었던 내용은 취소되어 스테이지로 돌아갔고 cat으로 보면 작업 트리의 파일은 아직 영향 안 받음
//reset-mixed 브랜치
//reset-hard 브랜치
* git reset 과 git revert의 차이점
- reset : 커밋 이력 자체를 없애버림. 원격 저장소와 충돌 또는 커밋 히스토리 상실 가능성.
- revert : 커밋 내용을 삭제한다는 새로운 커밋을 만듦(덮어 씌우기). 커밋 히스토리 유지.