본문 바로가기
Developer/Git

Git reset 사용법 및 특징

by 아우럼 2024. 9. 14.
반응형

Git은 소스 코드의 이력을 관리하는 시스템이지만 이력을 삭제할 수 있는 reset 기능을 지원합니다.

Git reset 기능 특징

  • 소스 코드에 잘못된 내용하고, commit 이력을 push 한 경우 삭제해야 하는 경우 reset 명령어를 사용합니다.
  • Git reset 명령어는 과거로 돌리는 기준에 따라서 soft, mixed, hard 옵션을 사용할 수 있습니다.
  • GIT reset의 기본 옵션은 mixed입니다.
  • git reset의 hard 옵션은 백업이 없는 경우 복구가 불가능할 수 있습니다.
  • git reset 명령어를 사용하는 경우는 이력 관리 확장팩을 사용합니다.
  • 과거로 돌아갈 때 파일 기준으로 가능하지만, 보통은 head를 이용해서 commit 단위로 사용합니다.

Git reset 기능 특징 입니다.
Git reset 기능 특징 입니다.

git reset 사용법

git reset 사용법.

  • git reset --soft <commit head 주소>
  • 실행 때 commit head 이후 commit이 취소되면서 소스 코드는 스테이징 영역에서 확인할 수 있습니다.
  • 즉, 이전 commit 이력을 지우고, commit 이력을 하나로 만들 때 사용합니다.

git reset의 mixed 사용법.

  • git reset --mixed <commit head 주소>
  • git reset 명령어의 옵션이 지정하지 않으면 mixed를 적용합니다.
  • soft 옵션하고 같게 HEAD를 지정된 commit으로 이동시키지만, 워킹 디렉터리(change 영역) 소스 코드가 남아 있습니다.
  • 즉, 인덱스(스테이징) 영역도 이 commit 상태로 되돌려 주는 기능입니다.
  • 소스 코드를 스테이지 영역으로 변경 후 commit을 실행하면 sort 기능하고 갔습니다.

git reset의 hard 사용법.

  • git reset --hard <commit head 주소>
  • git reset --hard는 commit head 이후의 소스 코드 및 commit 이력을 삭제합니다.
  • git reset --hard는 HEAD, 스테이징 영역, 워킹 디렉터리 모두를 지정된 commit 상태 돌아가면서 삭제합니다.
  • git에서 아주 강력한 기능으로 주의해서 사용해야 합니다.
  • vs code에서는 history 관련 extension을 지원하므로 미리 설치하면 안전합니다.

git 서버에 반영하는 방법

  • git reset 적용 후 git 서버에 push 하는 방법은 push --force 옵션을 사용합니다.
반응형