본문 바로가기

Git

[Git] 미러링 총정리

먼저 아래의 주소에가 파일을 다운받는다. (툴이라고 생각하면 편하다)

https://rtyley.github.io/bfg-repo-cleaner/

// 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 내역을 삭제하고 푸시하면 된다.