목차

  • 왜 reset을 알아야 하는가?
  • 2. git reset HEAD~1 이해하기
  • reset의 세 가지 모드
  • 실전 사용 사
  • 주의사항과
  • 마무리

1. 왜 reset을 알아야 하는가?

Git을 사용하다 보면 실수로 잘못된 파일을 커밋하거나, 커밋 메시지를 잘못 작성하는 경우가 발생한다. 이런 상황에서 git reset HEAD~1은 우리의 실수를 깔끔하게 되돌릴 수 있는 강력한 도구이다. 특히 개발 초보자라면 이런 실수는 더욱 빈번하게 발생할 수 있으므로, reset 명령어의 올바른 사용법을 아는 것이 매우 중요하다.

2. git reset HEAD~1 이해하기

git reset HEAD~1은 가장 최근의 커밋을 취소하고 이전 상태로 되돌리는 명령어이다.

여기서:

  • ~1은 현재 위치에서 1개 이전 커밋을 의미한다.
  • HEAD는 현재 작업 중인 브랜치의 최신 커밋을 의미한다.

현재 커밋 로그를 확인하는 명령어:

git log --oneline

 

가장 최근 커밋을 취소하는 명령어:

git reset HEAD~1

3. reset의 세 가지 모

3.1 Soft Reset

    git reset --soft HEAD~1

  • 커밋만 취소하고 변경된 파일들은 스테이징 영역에 유지된다.
  • 커밋 메시지만 수정하고 싶을 때 유용하다.

3.2 Mixed Reset (기본값)

    git reset HEAD~1

  • 커밋을 취소하고 변경된 파일들을 스테이징 영역에서 제거한다.
  • 파일 내용은 그대로 워킹 디렉토리에 남는다.

3.3 Hard Reset

    git reset --hard HEAD~1

  • 커밋을 취소하고 파일 변경 내용도 완전히 삭제한다.
  • 따라서 매우 신중하게 사용해야 한다.

4. 실전 사용 사례

4.1 커밋 메시지 수정하

잘못된 메시지로 커밋한 경우:

    git reset --soft HEAD~1

    git commit -m "올바른 커밋 메시지"

4.2 잘못된 파일 커밋 수정하기

잘못된 파일이 포함된 커밋을 취소:

    git reset HEAD~1

올바른 파일만 선택하여 다시 커밋:

    git add 올바른_파일.txt

    git commit -m "올바른 파일로 다시 커밋"

5. 주의사항과 

5.1 원격 저장소 관련 주의사

  • 이미 push한 커밋은 reset하지 않는 것이 좋다.
  • 팀 프로젝트에서는 git revert 사용을 고려한다.

5.2 안전한 사용을 위한 

  • 중요한 작업 전에는 브랜치를 만들어 작업한다.
  • hard reset 사용 전에는 반드시 변경 사항을 백업한다.
  • git reflog로 reset 이전 상태를 확인할 수 있다.

6. 마무리

git reset은 매우 유용하지만 신중하게 사용해야 하는 명령어이다. 특히 시작하는 개발자라면 --soft나 --mixed 옵션을 주로 사용하고, --hard는 확실한 경우에만 사용하는 것이 안전하다.

'GIT' 카테고리의 다른 글

[Git command] Local Storage 브랜치 삭제  (0) 2024.05.26

+ Recent posts