# 오류
1. Git Repository 생성 후 push하지 않은 commit을 되돌리고자 reset 명령어 사용
2. —hard, —soft 둘다 명령어가 들지 않음
# 이유
처음으로 생성한 커밋을 삭제할 떄 reset 명령어가 들지 않는 이유는 Git의 내부 동작과 브랜치 참조 구조 때문이다.
첫 번째 커밋은 루트 커밋이며, 이전 커밋이 없다. 따라서 ‘git reset’은 현재 브랜치의 HEAD를 다른 커밋으로 이동시키는 것으로, 이전 커밋이 없기 때문에 적용할 수 없다.
# 해결방법
git update-ref -d HEAD
git rm --cached -r .
update-ref란 commit을 가리키는 해시 값을 업데이트 하는 것인데 -d 옵션은 이를 지우는 명령어이다. 따라서 HEAD가 가리키는 해시 값을 지움으로써 첫 커밋을 초기화 시킬 수 있다.
# 결과
'Trouble' 카테고리의 다른 글
[TEST] 우아한 프리코스 테스트 코드 알아보기 (0) | 2024.10.26 |
---|---|
[TEST] System.out 과 System.in 의 테스트 방법 (0) | 2024.10.24 |
[Lombok] @Builder 정적 가져오기 문제 (0) | 2024.08.17 |
[QueryDSL] 컬렉션 fetchJoin 페이징 applying in memory (0) | 2024.08.08 |