GitHub에서 private 레포지터리를 public으로 변환하고 싶었는데, 공개하면 안되는 파일들이 있어서 해결한 방법을 작성합니다.
1. .gitignore에 해당 파일 추가하기
공개하지 말아야할 파일을 .gitignore 파일에 추가해줍니다.
2. Git History 삭제하기
삭제하고자 하는 파일을 git에서 삭제하더라도 commit history가 남아 있어서 파일이 그대로 노출이 됩니다. git repository경로에서 아래 명령어를 통해 history까지 삭제해줍니다.
$ cd git/myproject
$ git filter-branch --force --index-filter "git rm --cached --ignore-unmatch 경로/파일" --prune-empty --tag-name-filter cat -- --all
위의 명령어를 실행하면 모든 branch에서 삭제하고자 하는 파일을 삭제하고 hsitory를 재작성하게 됩니다.
Ref 'refs/heads/dev' was rewritten
Ref 'refs/heads/master' was rewritten
Ref 'refs/remotes/origin/dev' was rewritten
Ref 'refs/remotes/origin/master' was rewritten
3. 바뀐 내용을 github에 반영
git push origin --force --all
'ETC' 카테고리의 다른 글
[Tomcat] context naming (0) | 2022.11.28 |
---|