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
반응형
'~2023' 카테고리의 다른 글
[논문 리뷰] Efficient Estimation of Word Representations in Vector Space (0) | 2023.04.27 |
---|---|
[네이버 부캠] 프로젝트1: 문장 간 유사도 측정(STS) 대회 정리 (0) | 2023.04.27 |
[알고리즘] 그래프 탐색 기법을 코드로 이해하기 (0) | 2023.04.26 |
[VSCode] ssh 원격 접속하는 방법 (0) | 2023.04.26 |
[CS231n] Lecture 4. Backpropagation and Neural Networks (0) | 2023.04.25 |