[Git] Reset, Revert

WOOK JONG KIM·2022년 12월 20일
0

Git&GitHub

목록 보기
3/19
post-thumbnail

커밋이라는 것들 하나하나를 묻어놓은 타임캡슐(== 버젼)이라고 이해

Git에서 프로젝트를 과거로 되돌리는 방법은 크게 2가지

  1. Reset : 말 그대로 시간을 과거로 되돌리는 것

한 단계 전 시점인 Add team Cheetas로 되돌아가기 위해, 돌아간 이후 행적을 히스토리에서 지워버리는 것!

  1. Revert : 내역을 삭제하는게 아니라

변화를 거꾸로 수행하는 캡슐을 하나 넣음으로써 결과적으로 Add team Cheetas 때와 같은 상태로 돌아가게 됨

특정 시점(Commit : 2) 에서 작업한거를 거꾸로 실행 하여, 이후 내역(Commit : 3,4,5)를 유지하면서 commit 2 작업 내용을 제거할 수 있다
-> Reset과 Revert의 차이

한번 공유가 된 커밋들은 revert를 사용해서 되돌리자


실습 예시

우선 기존의 .git 파일 백업

1. Reset으로 과거로 돌아가기

돌아갈 시점의 커밋 해시를 복사한후 git reset --hard (돌아갈 커밋 해시)

2. Revert로 과거의 커밋 되돌리기

git revert b09d7f4b730e24bb08bd2129b87adb9f3a8712bb

revert 커밋이 새로 한개 더 생김

revert 관련 커밋들을 제거하고 마지막 시점으로 돌아가기 위해 reset 사용

git reset --hard fc2c24d690b241160a6566b74fa2d84cf80e92c4

HEAD의 현재 위치는 fc2c24d입니다 Replace Cheetas with Panthers

3. 커밋하지 않고 revert 하기

git revert --no-commit b09d7f4b730e24bb08bd2129b87adb9f3a8712bb

실습 예시2(SourceTree로 진행)

commit

체크박스 체크한 이후(변경 사항 git add. 하는 것과 같은 맥락) 상단 커밋 버튼 클릭

revert

reset

profile
Journey for Backend Developer

0개의 댓글