Bitbucket: Forigu dosierujon de Git-historio

Estas malfacila limo de 2 GB dum gastigado de Git ĉe Bitbucket - se ĉi tio superas, vi nur havas nurlegeblan aliron al la deponejo. Por malebligi tion, ekzemple, vi povas retrospektive forigi grandajn dosierujojn aŭ dosierojn de viaj transigoj. Sed ankaŭ en aliaj kazoj (se aliraj datumoj eniris la historion aŭ node_modules revenis al mastro) vi devas retroaktive manipuli la historion de Git, kontraŭe al ĝia naturo.


Bitbucket verkis detalan artikolon pri tio mem. Por ekzameni la aferon en kazo, ni unue kreas novan deponejon:

bitbucket-historio pura

Poste ni klonas la deponejon al malplena dosierujo sur la loka maŝino:

6ab7686fc508ce87c52b10bb5d01ee51

Nun ni kreas du subdosierujojn kun dosieroj kun hazarda enhavo:

6ab7686fc508ce87c52b10bb5d01ee51

Ni nun pelas mastron:

6ab7686fc508ce87c52b10bb5d01ee51

Nun ni preskaŭ atingis la malfacilan limon de 2 GB ĉe Bitbucket:

bitbucket-historio pura

Ni ankaŭ povas kontroli ĉi tion loke (vidu "grandeco-pako"):

6ab7686fc508ce87c52b10bb5d01ee51

bitbucket-historio pura

La tasko nun estas retroaktive forigi "foo" de la deponejo por duonigi ĝian grandecon. Por fari tion, ni unue redaktas la nunan HEAD kaj skribas la dosierujon en gitignore:

6ab7686fc508ce87c52b10bb5d01ee51

Fine ni forigas la dosierujon kun la helpo de la BFG Repo Cleaner (BFG postulas aktualan JRE en la sistemo kiel sistema postulo):

6ab7686fc508ce87c52b10bb5d01ee51

Ni nun povas vidi la rezulton loke:

6ab7686fc508ce87c52b10bb5d01ee51

bitbucket-historio pura

Sed ĉe Bitbucket la grandeco de la deponejo ankoraŭ ne ŝanĝiĝis, ĉar la rubujo ne estis ekzekutita malproksime kaj bitbucket ne plenumas "git gc" kun ĉiu puŝo:

bitbucket-historio pura

Ĉi tio ankaŭ estas konfirmita de la subteno:

bitbucket-historio pura

Do plej bone estas sendi peton rekte al support@bitbucket.org por mane lanĉi "git gc" en la deponejo. Post mallonga tempo tion faris ankaŭ la subtena teamo:

bitbucket-historio pura

Se vi "ĵus" movas la deponejon al alia komputilo, nur 0,9 GB finiĝos sur la disko. Se iu havas la 1.8 GB-version disponeblan loke, sufiĉas "git pull" sekvita de "git gc".

Reen