튜토리얼 3: 커밋을 변경해보자!
3. reset
이 튜토리얼에서는 사전에 이력이 준비되어 있는 로컬 저장소를 사용합니다.
여기에서 다운로드 해 주십시오.
이번에는 reset 을 사용하여 'master' 브랜치 앞의 두 개의 커밋을 삭제합니다.
위에서 다운로드 한 stepup-tutorial/tutorial3 폴더로 이동합니다. 이 저장소의 이력은 다음 그림과 같습니다.
log 명령어를 실행하여 이력을 확인합니다.
$ git log commit 0d4a808c26908cd5fe4b6294a00150342d1a58be Author: yourname <yourname@yourmail.com> Date: Mon Jul 16 23:19:26 2012 +0900 pull의 설명을 추가 commit 9a54fd4dd22dbe22dd966581bc78e83f16cee1d7 Author: yourname <yourname@yourmail.com> Date: Mon Jul 16 23:19:01 2012 +0900 commit의 설명 추가 commit 326fc9f70d022afdd31b0072dbbae003783d77ed Author: yourname <yourname@yourmail.com> Date: Mon Jul 16 23:17:56 2012 +0900 add의 설명을 추가 commit 48eec1ddf73a7fb508ef664efd6b3d873631742f Author: yourname <yourname@yourmail.com> Date: Mon Jul 16 23:16:14 2012 +0900 first commit
sample.txt 를 열어 내용을 확인합니다.
원숭이도 이해할 수 있는 Git 명령어 add: 변경 사항을 만들어서 인덱스에 등록해보기 commit: 인덱스의 상태를 기록하기 pull: 원격 저장소의 내용을 가져오기
reset 을 사용하여 커밋을 삭제합니다.
$ git reset --hard HEAD~~ HEAD is now at 326fc9f add의 설명을 추가
sample.txt 를 열어, commit 과 pull 의 설명이 지워졌는지 확인합니다. 또한 log 명령어를 실행하여 이력을 확인합니다.
$ git log commit 326fc9f70d022afdd31b0072dbbae003783d77ed Author: yourname <yourname@yourmail.com> Date: Mon Jul 16 23:17:56 2012 +0900 add의 설명을 추가 commit 48eec1ddf73a7fb508ef664efd6b3d873631742f Author: yourname <yourname@yourmail.com> Date: Mon Jul 16 23:16:14 2012 +0900 first commit
reset 전의 커밋은 'ORIG_HEAD'라는 이름으로 참조할 수 있습니다. 실수로 reset 을 한 경우에는, 'ORIG_HEAD'로 reset 하여 reset 실행 전의 상태로 되돌릴 수 있습니다.
$ git reset --hard ORIG_HEAD HEAD is now at 0d4a808 pull의 설명을 추가