Git에서 프로젝트를 과거로 되돌리는 방법은 Reset 과 Revert 두 가지가 있다.
Reset은 말 그대로 시간을 과거로 되돌리는 것이다.
Revert는 내역을 삭제하는 것이 아니라 변화를 거꾸로 수행하는 캡슐을 하나 넣음으로써 추가한 게 있으면, 삭제하고, 변경한 게 있으면 반대 행동을 한다는 것이다.
개발자들은 Git을 사용해서 코드를 공유하고 협업하는데 한 번 공유공간에 올라간 내용을 reset하면 충돌을 일으키게 되기 때문에 한 번 공유된 것은 revert 방식으로 되돌린다.
1. reset 사용해서 과거로 돌아가기
아래 명령어로 커밋 내역 확인
git log
- 되돌아갈 시점: Add team Cheetas의 커밋 해시 복사
Add team Cheetas로 commit했던 시점으로 돌아가기 위해 log를 찍어보고, 돌아갈 해시를 de206a033 (5~6글자정도) 복사한다.
- :q로 빠져나가기
git reset --hard (돌아갈 커밋 해시)
- reset의 옵션(--hard 등)은 섹션 5에서 다룰 것
2. reset 하기 전 시점으로 복원해보기
백업해 둔 .git 폴더 사용
- .git 폴더 복원
- git log, git status로 상태 확인
- 아래 명령어로 현 커밋 상태로 초기화
git reset --hard
- 뒤에 커밋 해시가 없으면 마지막 커밋을 가리킴
- lions.yaml 삭제
3. revert 로 과거의 커밋 되돌리기
Add George to Tigers의 커밋 해시 구하기
아래 명령어로 revert
git revert (되돌릴 커밋 해시)
- :wq로 커밋 메시지 저장
reset 사용해서 revert 전으로 되돌아가기
커밋해버리지 않고 revert하기
git revert --no-commit (되돌릴 커밋 해시)
- 원하는 다른 작업을 추가한 다음 함께 커밋
- 취소하려면 git reset --hard
'Git' 카테고리의 다른 글
[Git] GitHub Repository 합치기 (0) | 2022.06.05 |
---|---|
[Github] VScode와 Github 레포지토리 연결 (0) | 2022.04.12 |
[Git] branch | branch 다루기 (0) | 2022.03.14 |
[Git] 프로젝트 변경 사항들을 버전에 담기 (0) | 2022.03.14 |
[Git bash] Windows에서 Git bash 다운 받고 초기 설정하기 (0) | 2022.03.14 |
댓글