Jak git clonovat pouze specifický soubor nebo adresář

Git přímo nepodporuje clonování pouze specifického souboru nebo adresáře z repository. Nicméně můžete použít --depth 1 pro clonování pouze jedné specifické revize (na rozdíl od celé historie) a použít --no-checkout následované git sparse-checkout set pro checkout ne celého file tree, ale pouze specifického souboru.

V následujícím příkladu checkout pouze EMQX config soubory (v apps/emqx/etc) z celé emqx repository:

git_sparse_clone.sh
git clone --depth 1 --branch v5.0.8 --no-checkout https://github.com/emqx/emqx.git
cd emqx
git sparse-checkout set apps/emqx/etc
git checkout v5.0.8

Po tomto příkazu bude emqx složka obsahovat pouze .git a apps/emqx/etc.

Poznamenejte, že můžete zavolat git sparse-checkout set vícekrát pro checkout více distinct paths.

Tento příklad byl upraven z tohoto StackOverflow postu.


Podívejte se na podobné články podle kategorie: Git Version Management