소프트웨어 Git의 커밋 기록을 지우고 최신 파일의 커밋 하나만 남기고 싶습니다
2018.08.06 02:45
GitLab을 사용중입니다. GitHub도 매한가지일거 같지만, 혹시나 하여 사용 플랫폼을 적어둡니다.
가령 이러한 커밋 기록이 있다고 가정하겠습니다. 모두 master 브랜치입니다.
1aaaaa : HEAD
2bbbbb
3ccccc
4ddddd : Initial Commit
이런 상황일때, 다음과 같은 기록처럼 보이게 하고 싶습니다.
1aaaaa : HEAD, INITIAL COMMIT
즉, 2bbbbb부터 4ddddd까지의 예전 기록들을 다 날린다는 의미입니다. 커밋 기록에도 오직 1aaaaa만 보이고 이전 커밋 기록들은 완전히 삭제하는겁니다. 실제 파일들은 최신 파일 상태 그대로 유지하고요.
제가 시도해본건 https://stackoverflow.com/a/13102849에 있는 방법입니다. GitHub Desktop에 git.exe가 있길래 그것으로 진행했습니다.
git checkout --orphan newBranch
git add -A # Add all files and commit them
git commit
git branch -D master # Deletes the master branch
git branch -m master # Rename the current branch to master
git push -f origin master # Force push master branch to github
git gc --aggressive --prune=all # remove the old files
push -f 단계에서 master : master이었던가, 그러한 오류가 나면서 쓰기가 거부되었다, 라는 식의 메세지가 나오며 과정을 완료하지 못했습니다. 일단은 레포지토리를 통채로 삭제한 이후, 다시 파일들을 업로드함으로서 날리는 그런 식으로 했는데... 매번 커밋 로그 정리할때 그렇게 할 수는 없고... Git 명령어를 이용한 더 근사한 방법이 없나, 해서 여쭤봅니다.
참고로 https://gist.github.com/heiswayi/350e2afda8cece810c0f6116dadbe651에 있는 방법도 위 링크에 있는 방법과 같습니다.
댓글 [8]
-
흑심품었네 2018.08.06 02:50 -
TetraTheta 2018.08.06 02:57 ...??????????????? 이게 안되서 물어본건데요?
-
흑심품었네 2018.08.06 03:00 안되는거니 제가 수정해서 쓰려구여 감사합니다^^
-
TetraTheta 2018.08.06 03:04 이 글은 강의글이 아니라 질문글입니다. 보통 질문글에서 달리는 답변에서 기대하는건 질문에 대한 답변이지, 질문 내용이 알차니 내가 수정해 쓰겠다라는 답변이 아니죠.
동문서답때문에 굉장히 당혹스럽네요.
-
하늘아래서 2018.08.06 08:52
.git 폴더를 지우고 새로 커밋 해보세요..
-
스프리간 2018.08.06 12:59 https://git-scm.com/book/ko/v1/Git-%EB%8F%84%EA%B5%AC-%ED%9E%88%EC%8A%A4%ED%86%A0%EB%A6%AC-%EB%8B%A8%EC%9E%A5%ED%95%98%EA%B8%B0#%EC%BB%A4%EB%B0%8B-%ED%95%A9%EC%B9%98%EA%B8%B0
"pick"이나 "edit"말고 "squash"를 입력하면 Git은 해당 커밋과 바로 이전 커밋을 합칠 것이고 커밋 메시지도 Merge한다. 그래서 3개의 커밋을 모두 합치려면 스크립트를 아래와 같이 수정한다:
를 참고하시면 되지 않을 까요?
-
mrsshr 2018.08.06 13:02
git rebase -i HEAD~4
; 모두 squash
하신다음 force push 하시면 됩니다만 다른 사용자들이 checkout한 경우 문제 발생합니다.
-
TetraTheta 2018.08.07 01:54 master : master 원인을 알아낸 후, 질문글에 있던 방법대로 다시 했습니다.
원인은 GitLab이 master 브랜치에 force push를 못하게 해놨더군요. 지금은 그냥 alpha 브랜치 만들고, 거기서 작업하고 있습니다.
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
75278 | 윈 도 우| insert boot media 오류 메세지 [1] | jang3554 | 291 | 08-07 |
75277 | 기 타| 필요없는 메모리를 어떻게 금으로 바꿀수 있을까요? [5] | 윈포우도럼 | 1047 | 08-07 |
75276 | 윈 도 우| PE부팅을 할수없습니다. [14] | 하늘은높고 | 636 | 08-07 |
75275 | 윈 도 우| 하나의 usb에 윈도우10 설치와 pe부팅을 동시에 넣을수있는... [6] | 왕군아 | 763 | 08-07 |
75274 | 윈 도 우| WINPE 로그인 암호설정할수있는 방법을 알고싶습니다. [1] | 하얀부엉이 | 250 | 08-07 |
75273 | 윈 도 우| 윈도우정품구입 방법 추전 [3] | never | 886 | 08-07 |
75272 | 기 타| 확장자가 분명 mp4인데 어떻게 실행파일이 될수가 있죠? [10] | 태권V24 | 898 | 08-07 |
75271 | 윈 도 우| 윈도우 정품 미개봉 중고거래도 불법인가요? [4] | 물대포 | 1357 | 08-06 |
75270 | 하드웨어| 이 기타장치는 무엇일까요? [7] | 배추장사 | 751 | 08-06 |
75269 | 윈 도 우| 윈도우10 키 FFP인지 DSP인지 알수있는 방법 없을까요? [2] | 물대포 | 1989 | 08-06 |
75268 | 윈 도 우| 윈도10 인사이더 프리뷰 17730 업그레이드 도중 에러 [1] | 옆집아저씨 | 260 | 08-06 |
75267 | 소프트웨어| 파일 복구에 대하여 [4] | knada | 410 | 08-06 |
75266 | 윈 도 우| 윈도우 라이선스가 곧 만료됩니다 [4] | never | 2954 | 08-06 |
75265 | 윈 도 우| 아테나8 태블릿pc 드라이버 문의... [5] | 크론베리 | 909 | 08-06 |
75264 | 소프트웨어| 괜히 찜찜 하네요.. [3] | 테츠로 | 884 | 08-06 |
» | 소프트웨어| Git의 커밋 기록을 지우고 최신 파일의 커밋 하나만 남기고... [8] | TetraTheta | 237 | 08-06 |
75262 | 소프트웨어| 비쥬얼 스튜디오 버젼 상관 없이 설치 이후에 [1] | 흑심품었네 | 289 | 08-06 |
75261 | 기 타| 팟플레이어로.. [1] | 테츠로 | 673 | 08-05 |
75260 | 소프트웨어| 파이어폭스 쓰시는분들 [3] | 클라크 | 528 | 08-05 |
75259 | 소프트웨어| 음성인식 프로그램 없을까여 [4] | 유리얼음 | 719 | 08-05 |
좋은 설명 감사합니다.
수정해서 잘 쓰겠습니다