728x90
이전 커밋의 변경사항을 되돌려야 하는 상황은 꽤 많이 발생합니다. 에러를 발생시키는 커밋이 있다면, 빠르게 해당 커밋의 변경사항을 되돌려야 합니다.
git revert {커밋 ID}
다음과 같은 세 개의 커밋이 있는 상황이라고 합시다.
$ git log --oneline
875a6e6 b 파일을 추가한다
1fc71a0 a 파일을 수정한다
b014111 a 파일을 추가한다
이때 우리는 1fc71a0 (a 파일을 수정한다) 커밋이 문제가 있다는 걸 알게 됐습니다. 1fc71a0 커밋 내용은 이미 remote repository 공간에 올라갔습니다.
기존 커밋들을 지우지 않고 현재 커밋 위로 이전 커밋 내용을 다시 되돌리는 커밋을 만듭니다.
$ git revert 1fc71a0
Revert "a 파일을 수정한다"
This reverts commit 1fc71a0e2b3839cdd0ada557df823609f234610a.
# 변경 사항에 대한 커밋 메시지를 입력하십시오. '#' 문자로 시작하는
# 줄은 무시되고, 메시지를 입력하지 않으면 커밋이 중지됩니다.
#
# 현재 브랜치 main
# 커밋할 변경 사항:
# 수정함: a
#
로그를 확인하면 다음처럼 1fc71a0 시점 때의 작업물로 되돌아온 것을 확인
$ git log --oneline
dea542b This reverts commit 1fc71a0e2b3839cdd0ada557df823609f234610a.
875a6e6 b 파일을 추가한다
1fc71a0 a 파일을 수정한다
b014111 a 파일을 추가한다
728x90
'Git' 카테고리의 다른 글
[amend commit & rebase] 이전에 쌓인 커밋들을 변경하고 싶어요. (0) | 2022.05.23 |
---|---|
[stash] 변경 사항을 커밋하기 보단 임시저장하고 싶어요 (0) | 2022.05.21 |
[restore & reset] 변경사항, 커밋을 초기화하고 싶어요 (0) | 2022.05.20 |
[log & reflog] 이전 commit 내역들과 변경사항을 확인하고 싶어요 (0) | 2022.05.19 |
브랜치 (0) | 2022.05.18 |