Git

[Git 입문편] 9. reset

미래의 개발왕 2021. 3. 8. 23:33
728x90
반응형

<git reset>

본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 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
  •  
반응형