로컬 저장소에서 commit만 한 경우는 주로 reset을 쓰고,
이미 push까지 한 경우는 revert를 사용한다.
1. Reset
git reset
현재 add 한 파일 취소. add 전의 상태로 돌아간다.
git reset HEAD^
바로 직전의 commit을 취소한다.
git reset -merge ORIG_HEAD
바로 이전의 merge 취소
git reset (commit 번호) git reset --mixed (commit 번호)
default는 —mixed 옵션이다.
해당 커밋으로 돌아가면서 현재 변경한 코드들은 그대로 남아있다.
스테이징 영역에서도 reset이 되어 다시 커밋 시 add를 해줘야 한다.
git reset --hard (commit 번호)
해당 커밋으로 돌아가면서 그 이후에 작성한 코드들은 모두 없어진다.
git reset --soft (commit 번호)
해당 커밋의 직전 상태로 돌아간다.
스테이징 상태는 유지가 되어있다. add는 되어있는 상태.
git reset --hard ORIG_HEAD
실수로 reset을 한 경우!
eset 실행 전의 상태로 되돌아간다.
2. Revert
git revert (coomit 번호)
reset처럼 특정 버전으로 되돌아 갈 수 있지만, 되돌린 버전 이후의 commit 이력은 남아있다.
git revert --mainline (숫자)
과거의 merge를 취소
728x90
'Git' 카테고리의 다른 글
[Git] git tag 사용법 :: DANIDANI (0) | 2020.12.15 |
---|---|
[Git] branch 사용법 - checkout, merge :: DANIDANI (0) | 2020.11.12 |
[Git] git 초기 설정 - config, clone, remote :: DANIDANI (0) | 2020.11.12 |
[Git] stash - git의 책갈피, 임시저장소 :: DANIDANI (0) | 2020.11.12 |
[Git] Git 입문하기 / git의 모든 것 - init, add, commit , push, pull, fetch, status, log, blame :: DANIDANI (0) | 2020.11.11 |