Bitbucket: Fshi dosjen nga historiku i Git

Kur pret Git në Bitbucket , ekziston një kufi i vështirë prej 2 GB - nëse kjo tejkalohet, ju keni vetëm qasje vetëm për lexim në depo. Për ta parandaluar këtë, për shembull, mund të hiqni në mënyrë retroaktive dosje ose skedarë të mëdhenj nga detyrat tuaja. Por edhe në raste të tjera (nëse të dhënat e aksesit kanë gjetur rrugën e tyre në histori ose node_modules kanë rrëshqitur për të zotëruar përsëri) ju duhet të manipuloni në mënyrë retroaktive historinë e Git, në kundërshtim me natyrën e tij.


Bitbucket ka shkruar një artikull të hollësishëm për këtë vetë. Për të ekzekutuar të gjithë çështjen në një rast, së pari krijojmë një depo të re:

historia e bitbucket e pastër

Pastaj ne klonojmë depon në një dosje të zbrazët në makinerinë lokale:

6ab7686fc508ce87c52b10bb5d01ee51

Tani krijojmë dy nën-dosje me skedarë me përmbajtje të rastësishme:

6ab7686fc508ce87c52b10bb5d01ee51

Tani po shtyjmë masterin:

6ab7686fc508ce87c52b10bb5d01ee51

Tani pothuajse kemi arritur kufirin e vështirë prej 2 GB në Bitbucket:

historia e bitbucket e pastër

Ne gjithashtu mund ta kontrollojmë këtë në nivel lokal (shih "size-pack"):

6ab7686fc508ce87c52b10bb5d01ee51

historia e bitbucket e pastër

Detyra tani është të heqim në mënyrë retroaktive "foo" nga depoja për të ulur madhësinë e saj në gjysmë. Për ta bërë këtë, ne së pari editojmë HEAD aktual dhe shkruajmë dosjen tek gitignore:

6ab7686fc508ce87c52b10bb5d01ee51

Në fund, ne heqim dosjen me ndihmën e BFG Repo Cleaner (BFG kërkon një JRE aktual në sistem si një kërkesë e sistemit):

6ab7686fc508ce87c52b10bb5d01ee51

Tani mund ta shohim rezultatin në nivel lokal:

6ab7686fc508ce87c52b10bb5d01ee51

historia e bitbucket e pastër

Sidoqoftë, madhësia e depozitës nuk ka ndryshuar në Bitbucket sepse mbledhësi i mbeturinave nuk është ekzekutuar ende në distancë dhe bitbucket nuk kryen një "git gc" me çdo shtytje:

historia e bitbucket e pastër

Kjo konfirmohet edhe nga mbështetja:

historia e bitbucket e pastër

Pra, është më mirë të dërgoni një kërkesë direkt në support@bitbucket.org për të ekzekutuar manualisht "git gc" në depo. Pas një kohe të shkurtër, kjo u bë edhe nga ekipi mbështetës:

historia e bitbucket e pastër

Nëse zhvendosni "rishtas" depon në një kompjuter tjetër, vetëm 0.9 GB do të përfundojë në disk. Nëse dikush ka në dispozicion versionin 1.8 GB, një "git pull" i ndjekur nga "git gc" është i mjaftueshëm.

Mbrapa