처음부터 차근차근

Reset & Revert 본문

Devops/Git & Github

Reset & Revert

HangJu_95 2023. 5. 16. 15:28
728x90

Git에서 과거로 돌아가는 두 방식으로

  • reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지웁니다.
  • revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행합니다.

두가지가 존재한다.

 

1. Reset

 - Reset은 시계를 다시 맞추는 것으로 생각하면 된다.

$ git reset <옵션> <돌아가고싶은 커밋>

옵션의 경우, hard, soft, mixed가 존재한다.

 

1) hard

돌아가려는 이력 이후의 모든 내용을 지운다.

$ git reset --hard  a3bbb3c

2) soft

돌아라겨 했던 이력으로 되돌아 갔지만, 이후의 내용이 지워지지 않고, 해당 내용의 인덱스가 그대로 있는 상태.(바로 커밋할 수 있음)

 

3) mixed(옵션을 적지 않으면 mixed로 동작한다)

이력은 되돌려진다. 이후에 변경된 내용은 남아있지만, 인덱스는 초기화되며, 커밋을 하려면 다시 변경된 내용은 추가해야 하는 상태.

 

2. Revert

상태를 되돌린다고 볼 수 있다. 특정 부분의 커밋만 되돌리고 싶을때 주로 사용된다.

이때 Reset과 같이 이력이 지워지지는 않고, Revert라는 항목으로 commit이 추가되는 형태이다.

 

git revert (되돌릴 커밋 해시)

:wq로 커밋 메시지 저장

 

Tip : 커밋해버리지 않고 Revert 하기

git revert --no-commit (되돌릴 커밋 해시)

 

만약 Revert를 취소하려면 git reset --hard

 

 

'Devops > Git & Github' 카테고리의 다른 글

github 사용법  (0) 2023.05.17
Merge & rebase  (0) 2023.05.17
Branch란??  (0) 2023.05.16
Git 사용방법  (0) 2023.05.16
Git?? & 설치 방법  (0) 2023.05.15