Encontré una colección de slackbuilds, algunos que necesito hay en GitHub. https://github.com/PhantomX/slackbuilds/ No quiero obtener todos los git.
git clone https://github.com/PhantomX/slackbuilds.git
Pero solo consigue un slackbuild, para este .
¿Como hacer esto? ¿Es posible?
Respuestas:
Terminarás descargando el historial completo, así que no veo muchos beneficios en él, pero puedes pagar partes específicas usando un pago "escaso". Citando esta publicación de desbordamiento de pila :
Es posible que también sea mejor usar un clon superficial . En lugar del
git pull
comando dado anteriormente, intente:fuente
error: Sparse checkout leaves no entry on working directory
después de hacer un git pull después de hacer la modificacióncore.sparseCheckout
y.git/info/sparse-checkout
Prueba esto:
fuente
/trunk
y eliminar/tree/master
. Más aquígit clone --filter
de Git 2.19Esta opción realmente omitirá la búsqueda de objetos innecesarios del servidor:
El servidor debe configurarse con:
No hay soporte de servidor a partir de v2.19.0, pero ya se puede probar localmente.
TODO:
--filter=blob:none
omite todos los blobs, pero aún obtiene todos los objetos del árbol. Pero en un repositorio normal, esto debería ser pequeño en comparación con los archivos en sí, por lo que esto ya es lo suficientemente bueno. Preguntado en: https://www.spinics.net/lists/git/msg342006.html Los desarrolladores respondieron que se--filter=tree:0
está trabajando para hacerlo.Recuerde que eso
--depth 1
ya implica--single-branch
, vea también: /programming/1778088/how-to-clone-a-single-branch-in-gitfile://$(path)
es necesario para superar lasgit clone
travesuras de protocolo: /programming/47307578/how-to-shallow-clone-a-local-git-repository-with-a-relative-pathEl formato de
--filter
está documentado enman git-rev-list
.Se realizó una extensión al protocolo remoto Git para admitir esta función.
Documentos en el árbol de Git:
Pruébalo
GitHub aguas arriba .
Salida en Git v2.19.0:
Conclusiones:
d1/
faltan todos los blobs externos . Por ejemplo0975df9b39e23c15f63db194df7f45c76528bccb
, qued2/b
no está allí después de la salidad1/
.Tenga en cuenta que
root/root
ymybranch/mybranch
también faltan, pero lo--depth 1
oculta de la lista de archivos faltantes. Si elimina--depth 1
, se muestran en la lista de archivos faltantes.fuente
Finalmente lo conseguí gracias a lo anterior. Estaba editando el archivo directamente, obteniendo errores al incluir accidentalmente las comillas. Su archivo .git / info / sparse-checkout debe incluir solo el directorio, sin comillas. Aquí hay un ejemplo: este gigantesco proyecto: https://github.com/SharePoint/sp-dev-fx-webparts , solo quería el editor de script de reacción en el directorio de muestras. https://github.com/SharePoint/sp-dev-fx-webparts/tree/master/samples/react-script-editor
Seguí las instrucciones anteriores y lo puse a funcionar cuando mi archivo .git / info / sparse-checkout tenía justo esto.
samples / react-script-editor
fuente
Esto clonará una carpeta específica y eliminará todo el historial no relacionado con ella.
fuente
Para repositorios de GitHub, puede clonar cualquier subdirectorio de cualquier repositorio de GitHub (en cualquier referencia) usando https://github.com/HR/github-clone
fuente