-
Git BFG: commit 에서 파일이나 text 숨기기컴퓨터 2023. 2. 13. 14:43728x90반응형
때로 위처럼 아무 생각 없이 하드코딩된 hidden data나 파일들을 같이 commit에 올려버린다.
BFG를 다운로드 하고 @링크
아래와 같은 식으로 파일이나, 텍스트 숨기면 된다. @문서
java -jar bfg.jar --strip-blobs-bigger-than 100M java -jar bfg.jar --replace-text passwords.txt java -jar bfg.jar --delete-files id_{dsa,rsa} git reflog expire --expire=now --all && git gc --prune=now --aggressive git push
passwords.txt와 같은 파일에 내용물 예시는 다음과 같다.
PASSWORD1은 바로 ***REMOVED***로 처음 사진처럼 변해버린다.
PASSWORD1 # Replace literal string 'PASSWORD1' with '***REMOVED***' (default) PASSWORD2==>examplePass # replace with 'examplePass' instead PASSWORD3==> # replace with the empty string regex:password=\w+==>password= # Replace, using a regex regex:\r(\n)==>$1 # Replace Windows newlines with Unix newlines
workflow ci 짜면 이런 식으로 하면 될 듯
name: BFG Repo-Cleaner on: [push] jobs: bfg: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Install Java run: | sudo apt-get update sudo apt-get install -y openjdk-8-jre-headless git - name: Download BFG JAR run: wget https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar bfg.jar - name: Run BFG run: | java -jar bfg.jar --strip-blobs-bigger-than 100M java -jar bfg.jar --replace-text passwords.txt java -jar bfg.jar --delete-files id_{dsa,rsa} git reflog expire --expire=now --all && git gc --prune=now --aggressive - name: Push changes to GitHub uses: actions/github-script@0.11.0 with: script: | const { context } = require("@actions/github"); const octokit = new require("@octokit/rest")({ auth: process.env.GITHUB_TOKEN }); const { owner, repo } = context.repo; octokit.repos.createOrUpdateFile({ owner, repo, path: ".bfg-report.json", message: "BFG report", content: Buffer.from(JSON.stringify(context)).toString("base64") }); - name: Cleanup BFG JAR run: rm bfg.jar
728x90'컴퓨터' 카테고리의 다른 글
Ubuntu/Zorin OS 설치 파티션 설정 (0) 2023.04.16 Blue-Green deployment (블루-그린 배포) (0) 2023.01.11 wsl: USB 장치 연결하기 (Connect usb devices to wsl) (0) 2022.07.16