programing

github에서 모든 커밋 이력을 삭제하는 방법

magicmemo 2023. 4. 16. 14:51
반응형

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 main

  5. 현재 분기의 이름을 주 분기로 변경

    git branch -m main

  6. 마지막으로 저장소 강제 업데이트

    git push -f origin main

PS: 오래된 커밋 이력은 유지되지 않습니다.

모든 커밋 이력을 삭제하려면 , 다음의 커밋 이력을 삭제해 주세요..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

반응형