IT story

github에서 모든 커밋 기록을 삭제하는 방법은 무엇입니까?

hot-time 2020. 4. 5. 20:36
반응형

github에서 모든 커밋 기록을 삭제하는 방법은 무엇입니까? [복제]


이 질문에는 이미 답변이 있습니다.

모든 커밋 기록을 삭제하고 싶지만 커밋 기록에 사용되지 않은 커밋이 너무 많기 때문에 코드를 현재 상태로 유지하고 싶습니다.

내가 어떻게 해?

git 명령 으로이 작업을 수행 할 수 있습니까?

git filter-branch ?
git rebase ?
... 

내 코드는 github.com에서 호스팅됩니다.


.git폴더를 삭제하면 git 저장소에 문제가 발생할 수 있습니다. 모든 커밋 기록을 삭제하고 코드를 현재 상태로 유지하려면 다음과 같이 수행하는 것이 안전합니다.

  1. 점검

    git checkout --orphan latest_branch

  2. 모든 파일 추가

    git add -A

  3. 변경 사항을 커밋

    git commit -am "commit message"

  4. 지점 삭제

    git branch -D master

  5. 현재 브랜치의 이름을 master로 바꿉니다.

    git branch -m master

  6. 마지막으로 저장소를 강제로 업데이트하십시오.

    git push -f origin master

추신 : 이것은 이전 커밋 기록을 유지하지 않습니다.


커밋 기록을 모두 제거하려면 .git프로젝트 루트에서 디렉토리를 삭제하면 됩니다 (숨겨져 있음). 그런 다음 동일한 폴더에서 새 저장소를 초기화하고 GitHub 저장소에 연결하십시오.

git init
git remote add origin git@github.com:user/repo

이제 현재 코드 버전을 커밋하십시오.

git add *
git commit -am 'message'

마지막으로 GitHub에 강제로 업데이트하십시오.

git push -f origin master

그러나이 .git단계를 수행하기 전에 기록 ( 저장소 폴더)을 백업하는 것이 좋습니다 !

참고 URL : https://stackoverflow.com/questions/13716658/how-to-delete-all-commit-history-in-github

반응형