-
[Git 입문편] 9. resetGit 2021. 3. 8. 23:33728x90반응형
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다.
reset
- 상태를 이전 커밋으로 reset 시킴
- 옵션에 따라서 몇 커밋 이전 / 어느 단계(Staged, Modified, Unmodified)까지 reset 할지를 결정
- show: 커밋 정보를 보여줌
- HEAD == @, ~ == ^
- ex) HEAD~, HEAD^, @~, @^ : 한 커밋 이전
- @~2: 2커밋 이전
옵션
- --soft
- commit 명령만 되돌림 (Staged 상태가 됨)
- HEAD만 해당 커밋으로 돌림
vi README.md git ci -am 'Commit for reset exer' git reset --soft @^ git st --- On branch develop Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: README.md
- --mixed (기본)
- commit 명령도 되돌리고, add 명령까지 되돌림 (Modified 상태가 됨)
git ci -am 'Commit for reset exer' git reset --mixed @~1 git st --- On branch develop Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: README.md
- --hard
- commit 명령도 되돌리고, add 명령도 되돌리고, 워킹 디렉토리까지 되돌림 (Unmodified 상태가 됨)
- 워킹 디렉토리까지 되돌려 버리기 때문에 복구가 불가능! (가능한 방법이 있긴함)
git ci -am 'Commit for reset exer' git reset --hard @^ git st --- On branch develop nothing to commit, working tree clean
반응형'Git' 카테고리의 다른 글
여러 branch 한번에 여러개 지우기 (0) 2021.03.10 [Git 입문편] 10. cherry-pick, tag (0) 2021.03.08 [Git 입문편] 8. rebase (0) 2021.03.08 [Git 입문편] 7. stash, merge (0) 2021.03.08 [Git 입문편] 6. push, pull & fetch (0) 2021.03.07