해당 게시물은 [제대로 파는 Git & GitHub - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다.
Git에서 과거로 돌아가는 두 방식
- reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다.
- revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다.
1.
reset 사용해서 과거로 돌아가기
아래 명령어로 커밋 내역 확인
- 되돌아갈 시점: Add team Cheetas의 커밋 해시 복사
- :q로 빠져나가기
git reset --hard (돌아갈 커밋 해시)
- reset의 옵션(--hard 등)은 섹션 5에서 다룰 것
🎯 첫 커밋 시점으로 돌아가보세요.
reset 하기 전 시점으로 복원해보기
백업해 둔 .git 폴더 사용
- .git 폴더 복원
- git log, git status로 상태 확인
- 💡 뒤에 커밋 해시가 없으면 마지막 커밋을 가리킴
2.
revert 사용해서 과거로 돌아가기
Add George to Tigers의 커밋 해시 구하기
아래 명령어로 revert
🎯 Replace Lions with Leopards의 커밋 되돌려보기
- 이후 leopards.yaml 수정한 내역 때문에 충돌
- git rm leopards.yaml로 Git에서 해당 파일 삭제
- git revert --continue로 마무리
- :wq로 커밋 메시지 저장
🎯 reset 사용해서 revert 전으로 되돌아가기
💡 커밋해버리지 않고 revert하기
git revert --no-commit (되돌릴 커밋 해시)
- 원하는 다른 작업을 추가한 다음 함께 커밋
- 취소하려면 git reset --hard
<SourceTree로 진행해보기>
1. 변경사항 만들고 커밋하기
- leopards.yaml 삭제
- .gitignore에 *.config 추가
- hello.txt 추가 (내용 자유)
- 커밋 메시지: Commit with SourceTree
2. revert
- Add George to Tigers의 수정사항 되돌려보기
- 해당 커밋에 마우스 우클릭 - 커밋 되돌리기
3. reset
- Replace Cheetas with Panthers 시점으로 되돌려보기
- 해당 커밋에 마우스 우클릭 - ... 이 커밋으로 초기화
- 선택지에서 Hard 선택