목차
- 왜 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 |
---|