본문 바로가기

~2023

[Git] 특정 버전으로 되돌리기

728x90
반응형

Git을 사용해 협업하다 보면 이전 commit으로 되돌아갔다가 다시 작업을 수행하거나 영영 프로젝트를 되돌려야 할 때가 있다.
그래서 일시적으로 특정 버전으로 되돌아가는 방법과 영구적으로 특정 버전으로 되돌아가는 방법을 공유하려고 한다. 되돌아가기 위해서는 어떤 지점으로 돌아갈 것인지 명시해줘야 하는데 두 가지로 명시 가능하다. 첫 번째는 최근 커밋을 기준으로 숫자를 지정해줘 그 숫자만큼 돌아가는 것이고 두 번째는 commit 해시 코드를 통해 원하는 지점으로 바로 이동하는 것이다.
그래서 첫 번째 방법은 최근으로 돌아갈 때 사용하면 좋고 두 번째 방법은 먼 과거로 돌아갈 때 유용하다.

1. 일시적으로 이전 버전으로 되돌아가기

# 최근에서 n만큼 돌아가기
git checkout head~{n}

# 해시 코드에 해당하는 commit으로 돌아가기
git checkout {해시 코드}

번외로 일시적으로 이전 버전으로 돌아갔다가 최근 commit 상태로 돌아오는 방법은 다음과 같다.

git checkout {브랜치 이름}

2. 영원히 이전 버전으로 되돌아가기

이전 버전으로 영원히 돌아가는 방법은 두 가지 명령어로 수행할 수 있다. 두 가지로 나눠지는 기준은 돌아온 commit을 기준으로 이후 commit들을 삭제하나 안 하나 여부이다. revert는 이후 commit을 삭제하지 않으며 reset은 이후 commit을 삭제한다.

2.1 revert

# 최근에서 n만큼 돌아가기
git revert head~{n}

# 해시 코드에 해당하는 commit으로 돌아가기
git revert {해시 코드}

2.2 reset

# 최근에서 n만큼 돌아가기
git reset --hard head~{n}

# 해시 코드에 해당하는 commit으로 돌아가기
git reset --hard {해시 코드}
728x90
반응형