본문 바로가기

커밋3

[#git] 파일은 그대로 두고 모든 커밋 초기화하기(commit init) 커밋 내역이 많을수록 git에서는 이 변경 내역을 프로젝트 내부의 .git 디렉토리에 모두 저장하기 때문에 용량이 커질 수 밖에 없다. 그리고 커밋이 너무 많아 파일은 그대로 두고 커밋만 깔끔하게 초기화, 정리하고 싶은 경우있다. 이때 파일은 그대로 두고 모든 커밋을 초기화 하는 방법에 대해 알아보자 1. 기존 .git 디렉토리 지우기 프로젝트 디렉토리 안에 있는 .git 디렉토리를 지워 git 히스토리 내역을 모두 지워준다. 이때 기존 프로젝트 파일에는 전혀 영향이 없으니 안심해도 좋다. rm -rf .git 2. git 초기화 및 추가, 커밋 .git 디렉토리를 지웠으므로 git과 관련된 정보가 모두 사라진 상태이다. git init으로 새로 git 을 초기화하고, 기존에 작업해둔 프로젝트 파일들을 .. 2020. 4. 3.
[#git] 여러 커밋(commit) 하나로 합치기 의식의 흐름(?)으로 개발을 하다보면 똑같은 커밋 메세지 또는 대충 쓴 커밋 메세지로 푸시하는 경우가 많다. 이런 경우 커밋 메세지를 하나로 합치거나 수정할 수 있으니 정신이 맑은 날에 한번 쭈욱 정리하는 것도 좋을 듯 하다. 아래처럼 대충쓴 커밋 메시지1~3을 합쳐서 하나의 커밋으로 만들어보자 1. rebase 사용하기 3개의 커밋 메세지를 합쳐줄거라 git rebase -i HEAD~3을 실행한다. 만약에 2개의 커밋만 바꾸고 싶으면 2 를 적으면 된다. git rebase -i HEAD~3 2. 합치거나 편집할 commit 선택 그러면 아래와 같은 vi 창이 뜨는데, 대충쓴 커밋 메시지 2, 3의 pick => s 로 바꾼다 위 처럼 화면이 뜨면 아래처럼 적어주고 :wq 를 눌러 저장,종료 해준다... 2020. 3. 26.
[#git] 강제로 이전 커밋(commit) 상태로 되돌리기 git을 쓰다보면 자주 충돌이 일어난다. (보통 conflict 났다라고 표현한다) 이때 로컬 PC에 있는 작업 영역을 강제로 이전 커밋(commit)으로 되돌려서 conflict를 푸는 방법에 대해서 알아보자. github repository 에는 아무런 영향이 없으니 걱정안해도 된다. git reset --hard HEAD~5 git reset --hard HEAD~5 라고하면 현재 상태에서 강제로 5번째 전 커밋 상태로 되돌린다는 뜻이다. 이때 새로 생성했던 파일이나 수정한 내용들도 모두 이전 상태로 돌아간다. 그리고 git pull을 해주면 다시 최신 상태로 반영되어 conflict를 풀 수 있다. 2020. 3. 26.