mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2025-05-15 05:02:24 +02:00
38 lines
No EOL
1.5 KiB
Text
38 lines
No EOL
1.5 KiB
Text
[descripción]
|
|
|
|
¡Los árboles también pueden señalar a otros árboles! De esta manera, pueden describir estructuras de directorios anidados.
|
|
|
|
Cuando agrega un archivo dentro de un directorio al índice y luego llama a `git write-tree`, creará un árbol anidado para el directorio y le adjuntará el blob.
|
|
|
|
Para resolver este nivel, construye una pequeña figura de palo, como se muestra a la izquierda: un árbol que apunta a dos manchas, así como un árbol que apunta a dos manchas.
|
|
|
|
[configuración]
|
|
|
|
[objetivo de configuración]
|
|
|
|
echo "Soy el brazo izquierdo" > arm1
|
|
echo "Soy el brazo derecho" > arm2
|
|
cadera mkdir
|
|
echo "Soy la pierna izquierda" > cadera/pierna1
|
|
echo "Soy la pierna derecha" > cadera/pierna2
|
|
git agregar.
|
|
árbol de escritura de git
|
|
|
|
[ganar]
|
|
|
|
ÁRBOLES=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | árbol grep | cut -f1 -d" ")
|
|
|
|
para OUTER_TREE en $TREES; hacer
|
|
NUMBER_OF_BLOB_CHILDREN=$(git cat-file -p $OUTER_TREE | cut -f2 -d" " | grep blob | wc -l)
|
|
NUMBER_OF_TREE_CHILDREN=$(git cat-file -p $OUTER_TREE | cut -f2 -d" " | grep árbol | wc -l)
|
|
|
|
si [ $NUMBER_OF_BLOB_CHILDREN -eq 2 -a $NUMBER_OF_TREE_CHILDREN -eq 1 ]; entonces
|
|
TREE_CHILD=$(git cat-file -p $OUTER_TREE | cortar -f1 | grep árbol | cortar -d" " -f3)
|
|
NUMBER_OF_BLOB_CHILDREN_OF_TREE_CHILD=$(git cat-file -p $TREE_CHILD | cut -f2 -d" " | grep blob | wc -l)
|
|
si [ $NUMBER_OF_BLOB_CHILDREN_OF_TREE_CHILD -eq 2 ]; entonces
|
|
regresar 0
|
|
fi
|
|
fi
|
|
hecho
|
|
|
|
regresar 1 |