Přejít na hlavní obsah

Kompletní průvodce odinstalováním git lfs pro efektivní práci s úložišti

Git Large File Storage (LFS) - jedná se o rozšíření systému kontroly verzí Git, které vám umožní efektivně spravovat velké soubory, jako jsou obrázky, video nebo zvuk. Někdy je však nutné odstranit GIT LFS z projektu z různých důvodů-možná již nemusíte spravovat velké soubory nebo jste přešli na jiné řešení pro jejich správu.

V tomto jedinečném tutoriálu vám řekneme, jak odstranit GIT LFS z vašeho projektu. Pokryjeme všechny kroky od deaktivace LFS až po odstranění samotného rozšíření. Dodržováním těchto pokynů se můžete snadno a bezpečně zbavit GIT LFS, aniž byste poškodili svůj systém kontroly verzí.

Doporučujeme si pečlivě přečíst a porozumět každému kroku před jeho provedením, abyste se vyhnuli ztrátě dat a narušení vašeho projektu.

Co je Git LFS

Když jsou do úložiště přidány velké soubory, GIT je ve výchozím nastavení neefektivně zpracovává, zvyšuje velikost přenášených dat a zpomaluje operace úložiště. Git LFS umožňuje obejít toto omezení tím, že ukládá velké soubory na samostatné místo (jako je cloudové úložiště) a v úložišti ukládá pouze jejich metadata.

Git LFS automaticky stahuje a aktualizuje soubory v případě potřeby, takže práce s velkými soubory je efektivnější a pro vývojáře pohodlnější. To je zvláště užitečné při práci s projekty obsahujícími soubory, jako jsou obrázky, videa nebo dokumentace, které mohou zabírat značné množství místa a prodloužit dobu operací s úložištěm.

Příklad použití GIT LFS:

$ git lfs track "*.psd"$ git add file.psd$ git commit -m "Add large PSD file"$ git push

V tomto příkladu nakonfigurujeme git LFS pro sledování souborů s příponou .psd a přidejte jeden takový soubor do úložiště. Při provádění operace push, git LFS stáhne soubor do samostatného úložiště a přidá jeho metadata do úložiště.

Důvody pro odstranění git lfs

V některých případech může být nutné odstranit git lfs z vašeho projektu z následujících důvodů:

Omezený diskový prostor:

Git LFS může zabírat značné množství místa na disku kvůli velkým souborům uloženým v systému správy verzí. Pokud má váš server nebo poskytovatel hostingu omezení objemu uložených dat, odstranění GIT LFS vám může pomoci udržet projekt v přijatelném úložném prostoru.

Problémy s výkonem:

Git LFS může zpomalit operace projektu, zejména při práci s více soubory nebo při používání pomalých síťových připojení. V takových případech může odstranění GIT LFS pomoci zlepšit výkon a rychlost projektu.

Změna požadavků projektu:

Někdy se požadavky na projekt mohou změnit a již nebude nutné ukládat velké soubory pomocí git LFS. Pokud velké soubory již nejsou nedílnou součástí vašeho projektu, odstranění GIT LFS může pomoci usnadnit správu projektu a snížit složitost a množství uložených dat.

Bez ohledu na důvody k odstranění GIT LFS je důležité postupovat podle příslušného procesu, abyste se vyhnuli ztrátě dat a zachovali integritu historie změn ve vašich projektech.

Kroky k odstranění git lfs

Odstranění git lfs z úložiště lze provést následujícími kroky:

1. Zkontrolujte git lfs v úložišti.

Chcete-li to provést, otevřete terminál a přejděte do místního adresáře úložiště. Poté spusťte příkaz:

git lfs install

2. Procházejte seznam sledovaných souborů git lfs.

Zobrazí se seznam souborů, které byly nakonfigurovány pro sledování pomocí git lfs.

3. Vypněte git lfs pro sledování souborů.

git lfs untrack "cesta_k_soubor"

Místo" cesta_k_souboru " zadejte cestu k souboru, který chcete přestat sledovat pomocí git lfs.

4. Odstraňte atributy git lfs pro soubor.

git rm --cached "cesta_k_soubor"

Tím se odstraní atributy git lfs pro zadaný soubor. Znovu nahraďte "cesta_k_ soubor" cestou k souboru, který chcete změnit.

5. Vyřaďte git lfs z úložiště.

Otevřít .gitattributes soubor je v kořeni vašeho úložiště a odstraňte řádky související s GIT lfs. Uložte změny.

6. Odinstalujte přepsané commity git lfs.

Pokud byly vaše předchozí commity přepsány pomocí git lfs, musíte tyto commity odstranit a vynutit odeslání změn do vzdáleného úložiště. Nejprve proveďte příkaz:

git reflog expire --expire=now --all

Poté spusťte příkaz:

git gc --prune=now

Po provedení všech těchto kroků bude git lfs zcela odstraněn z vašeho úložiště.

Krok 1: Kontrola stavu git lfs

Před zahájením odinstalace git lfs je třeba se ujistit, že vlákno úložiště obsahuje objekty git lfs a určit jejich umístění.

Chcete-li zkontrolovat stav git lfs, spusťte příkaz:

git lfs status

Git LFS is enabled for this repository - to znamená, že git lfs je aktivován pro dané úložiště a objekty git lfs jsou uloženy. Pokračujte v následujících krocích k odstranění git lfs.

No such file or directory - to znamená, že git lfs není nainstalován ve vašem systému. Před pokračováním nainstalujte git lfs.

Project is not a git repository - to znamená, že současný adresář není git úložiště. Ujistěte se, že jste v kořenovém adresáři úložiště a opakujte příkaz.

Git LFS is not enabled for this repository - to znamená, že git lfs není aktivován pro toto úložiště. V tomto případě není potřeba další akce, git lfs je již odstraněn.

Jakmile získáte status git lfs, budete moci pokračovat v mazání git lfs podle zbývajících kroků.

Krok 2: Odstranění git lfs z úložiště

Chcete-li odstranit git lfs z úložiště, postupujte takto:

  1. Otevřete terminál nebo příkazový řádek a přejděte do kořenové složky úložiště.
  2. Zadejte následující příkaz: git LFS uninstall . Tím deaktivujete git lfs pro aktuální úložiště.
  3. Pokud chcete odstranit všechny soubory, které byly sledovány společností git lfs, spusťte příkaz: git LFS untrack . Tím budou odstraněny všechny soubory, na které se odkazuje .gitattributes.
  4. Pokud chcete odstranit všechny objekty git lfs z historie operací úložiště, spusťte příkaz: git LFS migrate export --everything --include="*". Tím se všechny objekty git lfs přenesou na běžné objekty git, ale větší soubory mohou trvat déle.
  5. Vymažte mezipaměť git lfs pomocí příkazu: git LFS clean .

Po provedení těchto kroků bude vaše úložiště zcela vymazáno z git lfs.

Krok 3: Odstranění git lfs z historie commitů

Jakmile úspěšně odstraníte git lfs z aktuální verze úložiště, musíte také odstranit všechny stopy, které git lfs zanechal v historii komit.

K tomu můžete použít příkaz git filter-branch. Umožňuje měnit historii komit pomocí složitých filtrů.

Než začnete, ujistěte se, že pracujete v adresáři úložiště a že máte nainstalovanou nejnovější verzi Git.

Chcete-li odstranit git lfs z historie commitů, postupujte takto:

  1. Vytvořte novou větev Chcete-li zachovat původní historii commitů:
    git branch backup
  2. Přejít na nové větvi:
    git checkout backup
  3. Použijte filtr pro odstranění git lfs:
    git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch '
  4. Přepište vzdálený vzdálený server, pokud máte vzdálené úložiště:
    git push origin --force --all
  5. Odstraňte dočasnou větev pokud ji již nepotřebujete:
    git branch -D backup

Úspěšně odstraníte git lfs z historie komit vašeho úložiště. Nyní budou všechny vaše commity čisté od git lfs.