Sök…


Introduktion

Om du begår känslig data, till exempel ett lösenord eller SSH-nyckel i ett Git-arkiv, kan du ta bort dem från historiken. För att ta bort oönskade filer helt från ett arkivshistorik kan du använda antingen kommandot git filter-gren eller BFG Repo-Cleaner.

Anmärkningar

  1. 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.

  2. 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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow