본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 18.1: reset 작업 복구하기
Git 에서는, (거의 대부분의 경우) 시간을 되돌려 작업을 복구할 수 있다.
history를 재작성하는 명령어를 시험삼아 수행해 보기를 두려워할 필요가 없다[^1]. Git 은 기본적으로 한번 작성된 커밋을 90일간은 삭제하지 않으며, 그 기간 동안에는 reflog 를 이용하여 손쉽게 해당 커밋을 복구할 수 있다:
$ git reset @~3 # 세 커밋 이전으로 이동한다
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... 더 이전 커밋들 ...
$ git reset 2c52489
... 이동을 하기 전의 시작 위치로 돌아간다
[^1]: --hard
나 --force
같은 옵션은 그래도 주의가 필요하다 — 데이터가 유실될 수 있다.
또한, 다른 사용자와 협업중인 브랜치에서는 history 재작성 관련 작업을 삼가해야 한다.
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
18.3: 유실된 커밋 복원하기 (0) | 2019.11.29 |
---|---|
18.2: git stash 한 작업 내역 복구하기 (0) | 2019.11.29 |
17.4: upstream 에 아직 적용되지 않은 커밋들 검색하기 (0) | 2019.11.28 |
17.3: cherry-pick 작업이 필요할지 확인하기 (0) | 2019.11.28 |
17.2: 하나의 브랜치 내의 특정 범위 커밋들을 다른 브랜치에 복사하기 (0) | 2019.11.27 |