.git 폴더를 완전히 삭제하고 히스토리를 초기화하기 위해선 다음 명령어를 입력한다.
$ rm -rf .git
깔끔하게 지워지는 것을 볼 수 있다.
만약 이미 원격 저장소에 연결된 상태에서 초기화를 진행했고, push를 사용한다면 에러가 발생한다.
이는 로컬 저장소의 현재 브랜치가 원격 저장소의 리모트 브랜치보다 뒤쳐져 있기 때문에 발생하는 에러다.
--force 옵션을 사용하여 push할 수 있다.
$ git push --force
$ git push -f
별개로 force-push를 사용하는 것은 로컬 저장소의 내용을 원격 저장소의 내용에 강제로 덮어쓰기 때문에 많은 문제가 발생할 우려가 있다. 협업을 진행하는 원격 저장소에서는 그 문제가 더 커질 수 있다. 따라서 force-push의 사용은 지양해야 한다.
또한, 커밋 히스토리를 정리하고자 할 땐 force-push보다 revert나 rebase를 사용해야 한다.
롤백을 하고 싶은 경우엔 revert를, 커밋을 정리하고 싶은 경우엔 각자의 브랜치에서 rebase를 사용한다.
참고
'Git' 카테고리의 다른 글
[Git] 원격 브랜치 관리2 (0) | 2021.08.18 |
---|---|
[Git] 원격 브랜치 관리1 (0) | 2021.08.06 |
[Git] 원격 저장소 - git remote update, git fetch, git pull 차이 (0) | 2021.02.17 |
[Git] Git 되돌리기 - git reset, git revert (0) | 2021.01.28 |
[Git] Git 시작하기 - git init, git add, git commit, git log (0) | 2021.01.28 |