Git repository의 첫 commit 되돌리기
컴퓨터를 포맷하고 나서 새로 push를 하려고 했는데 실수로 git config 지정을 안해줬습니다. 그래서 제 repository에는 익명의 사용자로부터의 commit이 반영되었습니다. 저는 이 commit을 되돌리고 git config를 설정하여 제 계정으로 된 commit을 다시 남기고 싶었습니다. 이렇게 repository에 단 하나의 commit만 있을 때 이를 어떻게 되돌릴 수 잇을까요?
add, commit, push를 되돌리는 방법은 인터넷에 많이 나와 있습니다. 하지만 제 경우에는 적용이 되지 않았습니다.

방법을 찾지 못하다가 오류 내용으로 검색을 하자 방법을 찾을 수 있었습니다.

제가 참고했던 스택오버플로우의 답변은 이렇습니다.
최초 commit을 지운다기보다는 그 브랜치를 지우면 됩니다. 대신 git branch -D를 사용하면 안됩니다. safety check에 걸리기 때문입니다.
여기서 update-ref는 무엇일까요?
공식문서를 살펴보면,
Git에서 어떤 commit이 있으면 그 commit 이전의 history를 조회할 수 있지만, 그 commit을 기억해야 한다. commit을 가리키는 것은 SHA-1 해시값이기 때문에 그것보다는 사용하기 쉬운 이름으로 된 포인터가 있으면 좋을 것이고, 외우기 쉬운 이름으로 된 파일에 SHA-1 값을 저장한다. Git에서는 이런 것을 “References” 또는 “Refs”라고 하고, 이것이 바로 Git의 Branch가 하는 일이다.
Refs 파일을 직접 고치는 것은 별로 좋지않아 보이기 때문에 git update-ref 명령어를 제공한다고 합니다.
즉 첫번째 명령어는 HEAD를 가리키고 있는 branch를 지우는 역할을 합니다.
두번째 명령어의 의미는 다음 그림을 보시면 이해하실 수 있습니다.

- — cached 옵션을 붙인 이유는 원격 저장소에선 지워야 하지만 저는 다시 commit을 할 것이었기 때문에 로컬 저장소에선 제 파일을 남겨둬야 하기 때문입니다.
- r 옵션은 directory를 삭제할 때 하위에 있는 파일들을 전부 삭제하게 해주는 옵션입니다.
두 명령어를 실행한 후에는 push할 때 -f를 붙여서 진행하시면 되겠죠? (로컬과 원격이 싱크가 맞지 않으므로)
긴 글 읽어주셔서 감사합니다.
git rm에 대한 설명
