Git
[Git 입문편] 9. reset
미래의 개발왕
2021. 3. 8. 23:33
728x90
반응형
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 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
반응형