reset 은 작업 취소과정에서 다양하게 사용할 수 있다.
reset 이 커밋의 참조를 삭제하기 때문에 히스토리가 변경된다.
즉, reset은 공유되지 않는 브랜치의 히스토리를 변경하는데만 사용하는것이 좋다.
reset의 대상은 유지될 것이고, revert의 대상은 삭제되는것을 뜻한다.
$ git log --online 4c239d9 Merge pull request #13 from CalebeGeazi/master 220dc3b fixed page 5/1 where 2 slides were combined into 1 dde7c5d Updated URL for slides to use non-personal project page. 54f49bb OSCON 2015 Portland: Updated handout with revised book terms eca7edd OSCON 2015 Portland: Language updates based on updated book terms 2db982d Changes to "Undo" graphic: add credits, add license, clean export $ git reset dde7c5d Unstaged changes after reset: M README.md M resources/workflow-sample-whisperingpines-releasecycle.md ... $ git diff diff --git a/README.md b/README.md index 9131b87..3d8ebac 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,24 @@ Git for Teams of One or More ... $ git add --all $ git status $ git diff --staged // 수정사항을 확인하려면 staging의 것을 확인함. $ git commit -m "Replacing" [master 6ec7060] Replacing
브랜치의 세개의 커밋을 하나로 압출하려면 다음과 같은 명령어를 사용
$ git reset HEAD~#