본문 바로가기
컴퓨터 & IT (Computer & IT)/Github

[Git] 복귀

by UltraLowTemp-Physics 2021. 7. 14.
728x90

Git을 이용하면 기록된 커밋을 기준으로 이전 상태로 되돌아갈 수 있다. 
▪ Git에서 코드 작업을 되돌리는 방법은 크게 다음 두 가지가 있다: Reset, Revert 

1. Reset 

  ▪  커밋을 기준으로 이전 코드로 되돌리는 방법

1) Reset 명령어 
  $git reset <option> <커밋_ID> 
    - Reset 명령어를 이용하면 지정된 커밋 코드로 되돌아감 
  ▪ reset 명령어는 3가지 옵션 중 하나를 사용해야 함: soft, mixed, hard

옵션 설명
soft - 스테이지 영역을 포함한 상태로 복원함 
- 복귀하면서 스테이지 영역의 상태도 같이 복귀함
- 파일을 수정하고, add 명령어로 스테이지 영역에 올려 커밋을 실행하기 직전의 단계로 되돌림 
- soft 옵션은 단순히 HEAD의 위치를 이동하는 역활만 함 
- soft 옵션을 사용하면 마지막 커밋을 수정할 수 있음 
mixed - soft 옵션과 다른점: soft옵션과 다르게 리셋 후 스테이지 상태까지 복원하지 않음 
- 스테이지 영역은 복원되지 않았으므로, 커밋을 실행하기 위해선 add 명령어를 먼저 실행해야 함 
hard - hard와 다른 옵션들의 차이점
  (1) 다른 옵션들:
   -- 이전 커밋으로 되돌리는 과정에서 삭제되는 내용은 없음 
   -- 모든 작업 내용들이 스테이지 영역 (soft) 혹은 워킹 디렉토리(mixed) 에 존재 
  (2) hard 옵션 
   -- 리셋되는 복귀 시점의 커밋 상태와 해당 커밋의 워킹 디렉토리까지 모두 되돌림 
   -- reset --hard 명령어를 사용한 커밋 이후의 모든 내용은 삭제됨 
   -- hard 옵션을 삭제하면 복귀 시점 이후의 워킹 디렉토리 내용들 모두 삭제됨 

 


 

2. Revert

- Revert는 기존 커밋은 남겨두고 취소에 대한 새로운 커밋을 생성함 
- 취소 커밋은 지정한 커밋을 삭제하지 않으며 삭제를 위한 새로운 커밋을 생성함 
- 리버트는 한번에 커밋 하나만 취소할 수 있음 
- 여러 커밋을 리버트 시키려면 최신 커밋부터 순차적으로 취소해야 함 
- 명령어: $git revert <Commit_ID>

728x90

댓글