본문 바로가기

Git

[Git] Reset과 Revert로 작업 되돌리기 :: DANIDANI

로컬 저장소에서 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