본문 바로가기
Git Study

Git - #6. Reset, Revert

by KMS_99 2023. 9. 7.

Git - #6. Reset, Revert

이전 시간에는 commit을 이용하여 새로운 버전을 추가하는 것을 알아보았다.

이번에는 이전 버전으로 이동하는 방법을 알아보겠다.

 

이전 버전으로 이동하는 방법은 두가지가 있다.

Reset, Revert라는 방법이 있으며, 해당 방법들은 이전 버전으로 이동 하는 것은 맞지만 방식이 다르다.

 

1. 동작 방법

현재 commit4가 가장 최근 버전이며, 해당 버전에서 commit2로 돌아가려고 하는 상황이다.

Reset의 동작을 먼저 알아보겠다.

Reset

commit 2로 돌아가기 위해 Reset은 앞의 commit들을 삭제한다.

다음으로 Revert의 동작이다.

Revert

Revert는 목표인 Commit2로 이동하기 위해서 가장 최근인 commit부터 실행 취소를 하고 그 기록을 새로운 commit으로 저장한다. 즉 실행 취소에 대한 기록자체를 새로운 commit으로 저장한다.

Revert는 한가지 commit에 대한 기록을 실행 취소하기 때문에 위와같이 commit2로 이동하기 위해서 두번의 코드를 입력해야한다.

 

결론적으로 Reset은 commit을 삭제하기 때문에 공유된 프로젝트, 협업을 하는 중이라면 사용하면 안된다.

조금 더 오래 걸리더라도 Revert를 사용하는 것이 프로젝트 안정성, history 등을 위해 좋다.

 

2. 사용법

- Reset

git reset --hard "commit hash value"

 

- Revert

git revert "commit hash value"

git revert --no-commit "commit hash value"

 

revert 사용 간 --no-commit 이 들어가면 commit을 실행하지 않는다.

이 때 commit을 하지 않고 이전으로 돌아가려면

git reset --hard 명령어를 사용해준다

'Git Study' 카테고리의 다른 글

Git - #8. 브랜치 병합 (merge, rebase)  (0) 2023.09.14
Git - #7. 브랜치(생성, 이동, 삭제)  (0) 2023.09.12
Git - #5. 버전 만들기 (Commit)  (0) 2023.08.30
Git - #4. gitignore  (0) 2023.08.29
Git - #3. 프로젝트 깃 설정  (0) 2023.08.29