본문 바로가기
개발의 정석/툴, 기타

[#git] 파일은 그대로 두고 모든 커밋 초기화하기(commit init)

by 발자개발 2020. 4. 3.

 

 

 

커밋 내역이 많을수록 git에서는 이 변경 내역을 프로젝트 내부의 .git 디렉토리에 모두 저장하기 때문에 용량이 커질 수 밖에 없다. 그리고 커밋이 너무 많아 파일은 그대로 두고 커밋만 깔끔하게 초기화, 정리하고 싶은 경우있다. 이때 파일은 그대로 두고 모든 커밋을 초기화 하는 방법에 대해 알아보자

 

 

1. 기존 .git 디렉토리 지우기

프로젝트 디렉토리 안에 있는 .git 디렉토리를 지워 git 히스토리 내역을 모두 지워준다. 이때 기존 프로젝트 파일에는 전혀 영향이 없으니 안심해도 좋다.

 
rm -rf .git

 

2.  git 초기화 및 추가, 커밋

.git 디렉토리를 지웠으므로 git과 관련된 정보가 모두 사라진 상태이다. git init으로 새로 git 을 초기화하고, 기존에 작업해둔 프로젝트 파일들을 add 한 뒤 커밋을 해주자

 
git init
git add --all
git commit -m "init commit"

 

 

3. 리모트 서버 등록

실제 git 저장소에 반영하기위해 리모트 서버를 등록해주자. 

 
git remote add origin <git 저장소 URL>

 

 

4. 강제 푸시

이제 강제 푸시(-f 옵션)을 해주면 기존의 모든 커밋을 제거되고, "init commit"만 남게 된다.

 
git push -f origin master

 

 

 

 

댓글