Git 특정 커밋으로 이동하기 | reset (--soft, --mixed ,--hard)

이동욱·2023년 3월 14일
0
post-thumbnail

상황

한줄씩 작업후 순서대로 커밋을 남겼다.

1. reset (--mixed)

명령어

git reset 1st커밋ID

로컬

로컬에서 작업한 부분은 그대로 남아있다.

git status

1st커밋 이후 로컬에 남은 작업 부분은 남아있지만 unstaged 상태이다.

git log

돌아간 시점 이후 커밋 기록은 없다

2. reset --soft

명령어

git reset --soft 1st커밋ID

로컬

로컬에서 작업한 부분은 그대로 남아있다.

git status

1st커밋 이후 로컬에 남은 작업 부분은 staged 상태이다.

git log

--mixed와 동일

3. reset --hard

명령어

git reset --hard 1st커밋ID

로컬

1st커밋ID 이후 작업은 모두 사라진다.

git status

1st커밋 이후 작업한 부분이 날아갔기 때문에 커밋할게 없다고 나온다.

git log

--mixed와 동일

4. 요약

특정 commit으로 reset시 해당 커밋 이후 작업들

Git 영역 \ reset--soft--mixed--hard
Working DirectoryOOX
Staging AreaOXX
RepositoryXXX

이전 작업으로 돌아가는 것만을 목적으로 하면 reset으로 충분하다.
하지만 돌아간 특정 시점 이후의 커밋들도 남아있어야 하는 경우에는 reset이 아닌 rebase를 사용하자.

profile
프론트엔드

0개의 댓글