현재 몇 년 동안 존재하는 현재 개인용 GitHub 저장소가 있습니다. README.md
파일에는 더 이상 정확하지 않은 라이센스가 있습니다.이전 Git 커밋에서 라이센스 수정
이제 고정 라이센스와 함께이 개인 레포를 공개로 바꾸고 싶습니다. 어쨌든 모든 오래된 커밋에는 여전히 오래된 (잘못된) 라이센스가 포함되어 있습니다.
어떻게 해결할 수 있습니까? 내 첫 번째 아이디어는 squash the repository to a single commit and destroy everything else 이었지만 어쩌면 내가 원하는 것을 성취 할 수있는 더 좋은 방법이있을 것입니다.
다른 질문에서 알 수 있듯이 기록을 유지하는 것은 중요하지 않지만 OTOH도 마찬가지입니다.
실제로 실제로 잘못된 점은 잘못된 라이센스로 커밋 된 것입니다.
아이디어가 있으십니까?
추신 : 나는 커밋의 ID를 아는 사람이 아니더라도 이전 커밋을 얻을 수 없도록하고 싶습니다. 따라서이 솔루션은 GitHub와 같은 원격 저장소를 업데이트하는데도주의를 기울여야합니다.
'git filter-branch'를 사용하면이 작업을 수행 할 수 있지만 그 시점에서 사용권이 변경된 기록을 반영해서는 안됩니까? 아니면 소급하여 프로젝트 전체를 변경하고 있습니까? –
전 프로젝트에 대해 적극적으로 변경하고 있습니다 (예전 소스에만 적용되는 경우에도) 이전 라이센스와 함께 공개적으로 사용할 수 있기를 원치 않습니다. 나는 물건을 공개하기 전에 모든 것에 대한 새로운 면허를 원합니다. –
@NoufalIbrahim'git filter-branch'는 히스토리에있는 파일을 편집 할 수있게합니까? 대신 파일을 삭제하는 것이라고 생각했습니다. 최선의 방법은 커밋을 스쿼시하고 다시 시작하는 것입니다. – Tom