Kur pret Git në Bitbucket, ekziston një kufi i fortë prej 2 GB - nëse kjo tejkalohet, ju keni vetëm qasje vetëm për lexim në depo. Për të parandaluar këtë, për shembull, ju mund të hiqni retrospektivisht dosje ose skedarë të mëdhenj nga angazhimet tuaja. Por edhe në raste të tjera (nëse të dhënat e hyrjes kanë hyrë në histori ose node_modulet janë rrëshqitur përsëri për t'u zotëruar) ju duhet të manipuloni në mënyrë retrospektive 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:
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:
Ne gjithashtu mund ta kontrollojmë këtë në nivel lokal (shih "size-pack"):
6ab7686fc508ce87c52b10bb5d01ee51
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
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:
Kjo konfirmohet edhe nga mbështetja:
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:
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.