Bitbucket. Ջնջել թղթապանակը Git- ի պատմությունից

Bitbucket- ում Git- ը հյուրընկալելիս կա 2 GB- ի ծանր սահման. Եթե դա գերազանցված է, դուք միայն ունեք ընթերցված մուտք դեպի պահեստ: Դա կանխելու համար, օրինակ, դուք հետադարձ ուժով հեռացնում եք մեծ պանակները կամ ֆայլերը ձեր հանձնառություններից: Բայց նաև այլ դեպքերում (եթե մուտքի տվյալները մտել են պատմություն, կամ node_modules- ը կրկին սայթաքել է վարպետի վրա), դուք պետք է հետադարձ հայացքով շահարկեք Git- ի պատմությունը `հակառակ դրա բնույթին:


Այս մասին Bitbucket- ը մանրամասն հոդված է գրել: Ամբողջ բանը մի դեպքում անցնելու համար մենք նախ ստեղծում ենք նոր պահեստ.

բիթքույտի պատմությունը մաքուր

Այնուհետև մենք պահեստարանը կլոնավորեցինք տեղական մեքենայի դատարկ թղթապանակում.

6ab7686fc508ce87c52b10bb5d01ee51

Այժմ մենք ստեղծում ենք երկու ենթապատկեր ՝ պատահական բովանդակության ֆայլերով.

6ab7686fc508ce87c52b10bb5d01ee51

Հիմա մենք վարում ենք վարպետին.

6ab7686fc508ce87c52b10bb5d01ee51

Այժմ մենք գրեթե հասել ենք 2 ԳԲ կոշտ սահմանի ՝ Bitbucket- ում.

բիթքույտի պատմությունը մաքուր

Մենք դա կարող ենք նաև ստուգել տեղական (տես «չափի տուփ»).

6ab7686fc508ce87c52b10bb5d01ee51

բիթքույտի պատմությունը մաքուր

Այժմ խնդիրն այն է, որ հետադարձ ուժով հեռացվի «ֆու» -ը պահոցից, որպեսզի դրա չափը կրկնապատկվի: Դա անելու համար մենք նախ խմբագրում ենք ընթացիկ HEAD- ը և թղթապանակը գրում gitignore- ում.

6ab7686fc508ce87c52b10bb5d01ee51

Վերջապես, մենք հեռացնում ենք թղթապանակը ՝ օգտագործելով BFG Repo հավաքարար (BFG- ն համակարգի վրա ներկայիս JRE է պահանջում որպես համակարգի պահանջ).

6ab7686fc508ce87c52b10bb5d01ee51

Այժմ մենք արդյունքը տեսնում ենք տեղում:

6ab7686fc508ce87c52b10bb5d01ee51

բիթքույտի պատմությունը մաքուր

Այնուամենայնիվ, Bitbucket- ի վրա պահեստի չափը դեռ չի փոխվել, քանի որ աղբահանությունը դեռ հեռակա կարգով չի կատարվել, և bitbucket- ը չի կատարում «git gc» յուրաքանչյուր հրում.

բիթքույտի պատմությունը մաքուր

Աջակցությունը նույնպես հաստատում է դա.

բիթքույտի պատմությունը մաքուր

Այսպիսով, ավելի լավ է ուղղակիորեն հարցում ուղարկել ուղարկել support@bitbucket.org- ին `պահեստում ձեռքով աշխատելու« git gc »: Կարճ ժամանակ անց դա կատարվեց նաև աջակցող թիմի կողմից.

բիթքույտի պատմությունը մաքուր

Եթե ​​այժմ «թարմորեն» պահեստը տեղափոխեք այլ համակարգիչ, ապա սկավառակի վրա միայն 0.9 GB- ն ավարտվելու է: Եթե ​​ինչ-որ մեկը դեռ առկա է տեղական տարածքում 1.8 ԳԲ տարբերակը, ապա «git pull» - ը, որին հաջորդում է «git gc», բավարար է:

Ետ