먼저 아래의 주소에가 파일을 다운받는다. (툴이라고 생각하면 편하다)
// git mirror를 위한 파일을 만든다.
1. git clone --bare "Repository주소.git"
// git commit과 같은 history에서 .env, application.yml과 같은 중요파일에 대한 정보를 볼 수 없게 삭제한다.
2. java -jar bfg-1.14.0.jar --delete-files '{.env,application.yml,application.properties}'
// git은 50M까지는 warning으로 푸시가 가능하지만, 100M부터는 푸시가안되기때문에 삭제한다
3. java -jar bfg-1.14.0.jar -b 100M
4. git pust mirror "NewRepository주소.git"
Secret Key오류가 발생하는 경우
필자의 경우 AWS KEY가 유출되었을 가능성이 존재한다며 Push가 Console에서 차단당했다.
오류를 보면 해결방법 URL을 알려주니 따라하면 된다.
git log --all --pretty=format:'%H' | xargs -I {} sh -c 'git ls-tree -r {} | grep -q BLOB_ID_HERE && echo {}'
git rev-list --objects --all | grep <Blob ID>
git show <Blob ID>
위의 명령어들을 통해 BLOB_ID에 해당하는 파일을 찾고 수정한 후 commit 내역을 삭제하고 푸시하면 된다.
'Git' 카테고리의 다른 글
[Git] Git? Github? 간단 정리 및 사용하기(2) (0) | 2024.05.22 |
---|---|
[Git] Git? Github? 간단 정리 및 사용하기(1) (0) | 2024.05.22 |