使用 filter-branch
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA' \
--prune-empty --tag-name-filter cat -- --all
將包含敏感資料的檔案新增到 .gitignore,以確保你不會意外地再次提交它。
echo "YOUR-FILE-WITH-SENSITIVE-DATA" >> .gitignore
git add .gitignore
git commit -m "Add YOUR-FILE-WITH-SENSITIVE-DATA to .gitignore"
將你的本地倉庫推送到 GitHub
git push origin --force --all
要從標記版本中刪除敏感檔案,你還需要強制推送 Git 標記:
git push origin --force --tags