No puedo clonar el tree de git

Tengo una pregunta sobre git, intenté clonar un tree pero sin éxito.

git clone https://github.com/cer/event-sourcing-examples/tree/d2077e21aa677a00095f90250470ff011c132ab8/java-spring 

Cloné el proyecto

 git clone https://github.com/cer/event-sourcing-examples 

e intenté cambiar a ese tree pero no tuve efecto

¿Tendría alguna sugerencia?

Atentamente

Git no puede clonar un tree directamente. Necesita clonar todo el repository y luego verificar una confirmación que utiliza el tree que desea. Sin embargo, para networkingucir las confusiones, tenga en count que hay una diferencia entre los términos "tree" y "compromiso":

  • Un tree es un object Git que representa un directory y contiene enlaces a blobs (files) y otros treees. Un tree no es necesariamente el directory raíz del repository.
  • Un object de commit contiene un enlace al tree raíz del repository, y algo de información extra, como un post de confirmación, dates y otros encabezados.

Solo puedes verificar commits. Pocos commands de Git tratan directamente con objects de tree ( git cat-file y git ls-tree están entre las excepciones). Sin embargo, el ID del object en su URL de GitHub es de hecho el ID de una confirmación, por lo que no es un problema.

Lo que puede hacer, entonces, es verificar la confirmación que desea en una nueva twig después de haber clonado el repository:

 git checkout -b test-branch d2077e21 

Si el problema que está tratando de resolver es simplemente get un único compromiso (o tree) de un repository remoto, entonces no tiene suerte, porque el protocolo remoto de Git no es compatible con esa operación. En todo caso, si puede insert una bifurcación en el repository remoto en la confirmación que desea, puede clonar esa bifurcación directamente, sin ningún tipo de historial:

 git clone -b test-branch --depth 1 https://github.com/cer/event-sourcing-examples 

Sin embargo, si no puedes hacer eso, entonces todavía no has tenido suerte. El protocolo remoto solo permite hacer references a refs nombrados, no a confirmaciones arbitrarias.

 git clone -b <branch> <remote_repo> 

Ejemplo:

 git clone -b my-branch git@github.com:user/myproject.git 

Alternativa (no se necesita configuration de key pública):

 git clone -b my-branch https://git@github.com/username/myproject.git 

Compruebe si las cosas a continuación ayudan. Estoy usando un GIT bash aquí.

  1. Clona el repository.

    git clone https://github.com/cer/event-sourcing-examples.git

  2. Ingrese ese directory

    cd event-sourcing-examples/

  3. Cambia la twig (estoy asumiendo por tree quieres decir twig)

    git checkout wip-vagrant wip-vagrant es un nombre de sucursal

  4. Para get la actualización, debe emitir un command de extracción.

    git pull

Si desea clonar directamente la sucursal, siga las instrucciones del comentario anterior (Micheal).