github
Ta bort känslig data eller stora filer
Sök…
Introduktion
Anmärkningar
Be dina kollaboratörer att omklassificera, inte sammanfoga alla grenar som de skapade i din gamla historia. Ett fusionsåtagande kan återinföra en del av eller hela den besläktade historien som du bara gick till besväret med att rensa.
Efter en tid och du är övertygad om att git-filtergren inte hade några oavsiktliga biverkningar, kan du tvinga alla objekt i ditt lokala förvar att avskaffas och skräp samlas in med följande kommandon (med Git 1.8.5 eller nyare):
git for-each-ref --format = 'delete% (refname)' refs / original | git update-ref --stdin
git reflog expire - expire = nu - allt
git gc - prune = nu
Med filterfilial
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
Lägg till din fil med känslig information till .gitignore för att säkerställa att du inte oavsiktligt begår den igen.
echo "YOUR-FILE-WITH-SENSITIVE-DATA" >> .gitignore
git add .gitignore
git commit -m "Add YOUR-FILE-WITH-SENSITIVE-DATA to .gitignore"
Tryck din lokala repo till GitHub
git push origin --force --all
För att ta bort den känsliga filen från dina taggade utgåvor måste du också tvinga tryck mot dina Git-taggar:
git push origin --force --tags
Använda BFG Repo Cleaner
BFG Repo-rengöringsmedel är ett alternativ till git-filtergren. Det kan användas för att ta bort känslig information eller stora filer som begick felaktigt som binärer som sammanställts från källan. Det är skrivet i Scala.
Projektwebbplats: BFG Repo Cleaner
Krav
Java Runtime Environment (Java 7 eller högre - BFG v1.12.3 var den senaste versionen som stöder Java 6). Scala-biblioteket och alla andra beroenden vikas in i den nedladdningsbara burken.
Ta bort filer med känslig data
bfg --delete-files YOUR-FILE-WITH-SENSITIVE-DATA