git 새로 시작하기: repo 뒤엎기, local 갈아엎기

  1. repo 뒤엎기

git이든 무엇이든 version control을 하면 과거 기록들을 계속해서 쌓아두기 때문에 관리하는 폴더의 크기가 점점 증가하게 된다. 그런데 버전 관리를 어느 시점부터 새로 시작하고 싶고 그 이전 기록들에 대해서 더 이상 관심이 없다면 과감히 reset하는 것이 속도면에 있어서나 저장소를 최적의 크기로 사용하는데 도움이 된다. 과정이 간단하지만은 않다.

먼저 temp라는 branch로 과거기록을 없엔 상태로 checkout 한다.

git checkout --orphan temp

그 다음 현재 branch의 모든 내용물을 add해버린다.

git add -A

add했으니 commit하고 다음으로 master branch를 지운다.

git commit -am 'blah-blah'
git branch -D master

그리고 지금 branch (temp)를 master로 만든다.

git branch -m master

이제 로컬의 모든 changes를 repo쪽으로 push하게 되면 끝이난다.

git push -f origin master
  1. local 갈아엎기

local에서 작업을 너무 많이 벌려놔서 뭘 했는지 기억도 안나고 정신없어서 원래대로 뒤돌리고 싶다면 과감히 다음과 같이 한다.

git reset --hard HEAD