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.8Po 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
Pokud vám tento článek pomohl, zvažte, zda mi nekoupíte kávu nebo nepřispějete přes PayPal na podporu výzkumu a publikování nových článků na TechOverflow