2026 location Mac à la journée pour dépôts Git massifs et Git LFS :
clone peu profond, partial clone et calendrier bande passante sur 1–3 jours
Sur une fenêtre de une à trois journées, un mono-dépôt Git LFS échoue souvent avant Xcode : topologie de clonage, tirages LFS par vagues et espace libre dictent le mur du temps. Ce guide s’adresse aux petites équipes qui veulent un macOS natif jetable : trois douleurs, une matrice, sept étapes, trois métriques, avec liens vers stabilité des téléchargements, région & latence, FAQ SSH/VNC et nœud CI loué.
Sommaire
01. Trois douleurs : clone complet, pics LFS, dérive sparse
1) Clone complet qui mange le jour 0 : les mono-dépôts portent l’historique binaire ; avec RTT 120–220 ms, un git clone naïf peut prendre huit à quatorze heures. Sans inventaire profondeur + LFS, les relances parallèles amplifient les 429.
2) Concurrence LFS par défaut : un git lfs pull massif crée des pics d’écriture puis s’effondre ; Spotlight et l’indexation Xcode se battent pour l’IO. Sans DerivedData isolé, l’arbre semble prêt mais Archive échoue (smudge).
3) Sparse vs CI : fixtures manquantes = tests flaky. Versionnez les règles et alignez les flags CI. TLS d’entreprise ? Lisez d’abord stabilité téléchargement.
02. Matrice : shallow vs blobless/partial vs sparse-checkout
Boîte 1–3 jours : shallow pour derniers commits, blobless/partial pour histoire profonde, sparse pour un sous-arbre d’app. Couplez avec latence & région.
| Axe | Shallow | blobless/partial | sparse |
|---|---|---|---|
| Portée historique | faible hors profondeur | moyenne, blobs différés | moyenne, chemins |
| Charge jour 0 | faible–moyenne | moyenne + fetch | faible si couplé |
| LFS | souvent shallow→LFS | fetch à surveiller | surface réduite |
| Risque | tags/sous-modules | clients anciens | chemins oubliés |
03. Sept étapes
- Inventaire :
git rev-list --count,git lfs ls-files -s. - Topologie :
--filter=blob:none+--depth, sparse si besoin. - Baseline : débit, premier checkout,
git count-objects -vH. - LFS par vagues : chemins,
GIT_LFS_CONCURRENT_TRANSFERS3–4. - DerivedData : dossier dédié, marge Archive.
- Triage : TLS, 429, smudge séparément.
- Effacement : dépôt, cache LFS, révoquer PAT.
git clone --filter=blob:none --single-branch --branch main https://example.com/org/mono.git
export GIT_LFS_CONCURRENT_TRANSFERS=3
git lfs pull --include="ios/**"
04. Calendrier bande passante 1–3 jours
| Durée | J0 | J1 | J2 |
|---|---|---|---|
| 1 jour | blobless/shallow + LFS minimal | — | — |
| 2 jours | clone + LFS principal | LFS restant, tests | — |
| 3 jours | clone, inventaire, CI | LFS complet | Archive, wipe |
Alignez avec guide CI : la location ne remplace pas la pipeline.
05. Commandes & backoff
Partial : git fetch avant rebuild. Dépendances : miroirs & timeouts.
06. Métriques & mythes
- M1 : 41–58 % des échecs jour 0 = clone/LFS/disque mal classés.
- M2 : LFS 8→3–4 : ~19–31 % moins de retries.
- M3 : 18–35 Go libres avant Archive.
07. Portable seul vs sprint Mac natif
Le chemin le moins risqué reste macOS natif pour clone, LFS et Archive. Accès distant, tarifs, Xcode Cloud.