Git

[Git 교과서] 9장 복귀

차노도리 2023. 6. 29. 17:29

코드를 되돌리는 방법

  • reset
  • revert

 

reset

  • 커밋을 기준으로 이전 코드로 되돌리는 방법
  • 기록한 커밋을 취소한다.

reset 명령어

  • git reset [option] [커밋ID]
    • soft
      • 스테이지 영역을 포함한 상태로 복원한다.
      • add 명령어로 스테이지 영역에 올려 커밋을 실행하기 직전의 단계로 되돌린다.
    • mixed
      • 스테이지 영역을 포함하지 않은 상태로 복원합니다.
      • Default 옵션 값이다.
      • add 명령어로 스테이지 영역에 다시 올려서 커밋을 진행해야한다.
    • hard
      • 파일이 삭제된 이전 상태로 복원합니다.
      • 복귀 시작의 커밋 상태와 해당 커밋의 워킹 디렉터리까지 모두 되돌린다.
      •  
      •  
    • 스테이지 reset
      • 스테이지 영역 파일을 다시 unstage 상태로 만들때 사용
      • git reset [파일이름]

revert

  • 공개한 저장소에서 이전 상태를 되돌리려고 할때 사용
  • 기존 커밋을 남겨 두고 취소에 대한 새로운 커밋을 생성한다.
  • 번에 한커밋만 취소가 가능하다.

revert 명령어

  • git revert [커밋ID]

 

리셋과 리버트 비교

  • 둘 다 동작을 취소하고 과거 상태로 되돌릴 때 사용한다.
  • 리버트와 리셋은 이전 커밋 정보를 삭제하는지 여부에 대한 차이점이 있다.
  • 원격 저장소에 공개한 커밋이라면 특정 커밋을 삭제하는 것은 다수의 사용자와 공유하는 저장소의 커밋 기록이 깨질 수 있기 때문에 revert를 사용하는 것이 좋다.

 

'Git' 카테고리의 다른 글

[Git 교과서] 11장 서브모듈  (0) 2023.07.12
[Git 교과서] 10장 배포 관리와 태그  (0) 2023.07.07
[Git 교과서] 8장 병합과 충돌  (0) 2023.06.20
[Git 교과서] 7장 Stash  (0) 2023.06.15
[Git 교과서] 6장-2 Branch  (0) 2023.06.03