Git: clonar un repositorio

    Uno de los muchos beneficios de usar software de control de versiones como Git es la facilidad con la que puede copiar todo el contenido y el historial de un proyecto con un simple comando en su terminal. Una vez en su m谩quina local, puede realizar los cambios / adiciones / eliminaciones que desee y devolverlo al repositorio de origen.

    En este breve art铆culo veremos c贸mo puede clonar un repositorio de Git desde una fuente remota (o local).

    Repositorios de clonaci贸n

    Para clonar un repositorio remoto, querr谩 usar el git clone comando, que generalmente se usa de esta manera:

    $ git clone <repo-url>
    

    Esto clonar谩 el repositorio en su directorio de trabajo actual usando el nombre del repositorio como directorio de destino. Para clonarlo en un directorio diferente, puede especificar uno como segundo par谩metro para clone:

    $ git clone <repo-url> <directory>
    

    Un ejemplo de este comando para un repositorio p煤blico de GitHub se ver铆a as铆:

    $ git clone [email聽protected]:scottwrobinson/twentyjs.git twentyjs-clone
    Cloning into 'twentyjs-clone'...
    remote: Enumerating objects: 48, done.
    remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48
    Receiving objects: 100% (48/48), 9.35 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (22/22), done.
    

    Como todos los comandos de Git, hay bastantes banderas que se pueden usar aqu铆. A continuaci贸n se muestran algunos de los m谩s utilizados para git clone:

    • -l o --local: Esto le dice a Git que el repositorio que estamos clonando est谩 en nuestra m谩quina local, que pasa por alto el mecanismo de transporte normal “consciente de git”. Los archivos debajo .git/objects/ tambi茅n est谩n vinculados al repositorio original, lo que ahorra espacio en disco. Esta marca no es necesaria si el repositorio se especifica como una ruta local, pero debe especificarse expl铆citamente si el repositorio local se especifica como una URL.
    • --no-tags: No descargue ninguna de las etiquetas del repositorio. Esta configuraci贸n tambi茅n se guarda para que los siguientes git pull y git fetch las llamadas no descargan etiquetas.
    • -o <name> o --origin <name>: Cambie el nombre del repositorio remoto para este clon de “origen” a lo que especifique <name>.
    • -n o --no-checkout: No revise HEAD despu茅s de la clonaci贸n
    • --bare: Coloca los archivos de <directory>/.git directamente en la ubicaci贸n especificada por <directory>. Esto es bueno para cuando necesita una copia del repositorio, pero no necesita trabajar directamente con 茅l para prop贸sitos de desarrollo.

    Recuerde, solo mencion茅 los indicadores m谩s utilizados espec铆ficos para el clone mando. Hay bastantes m谩s, que puede consultar utilizando el git help clone comando en su terminal.

    Clonaci贸n de repositorios locales

    Como probablemente haya adivinado por algunos de los indicadores mencionados anteriormente, tambi茅n puede clonar repositorios que ya est谩n en su m谩quina local. Esto se hace especificando la ruta del directorio del repositorio en lugar de una URL. Aqu铆 hay un ejemplo de c贸mo se ver铆a:

    $ git clone /Users/scott/sandbox/twentyjs /Users/scott/projects/twentyjs
    

    Con este comando el twentyjs El proyecto Git se copiar铆a en el nuevo projects/twentyjs directorio. Puede omitir la ruta de destino, pero tenga en cuenta que debe estar en un directorio de trabajo diferente al que reside o debe darle un nombre diferente para evitar conflictos.

    Otros protocolos

    Hay varias formas de especificar qu茅 repositorio desea clonar, ya sea que est茅 clonando un repositorio local o remoto. Las diferencias est谩n en el protocolo que especifique, que tambi茅n debe ser compatible con el servidor que aloja el repositorio. Al elegir un protocolo, aseg煤rese de considerar los requisitos de seguridad y utilice los protocolos m谩s seguros cuando sea necesario o pueda.

    A continuaci贸n se muestran algunos ejemplos de protocolos que son compatibles de forma nativa con Git:

    • git://example.com[:port]/path/to/repo/project.git
    • ssh://[[email聽protected]]example.com[:port]/path/to/repo/project.git
    • http[s]://example.com[:port]/path/to/repo/project.git
    • ftp[s]://example.com[:port]/path/to/repo/project.git (no recomendado debido a obsolescencia)

    Tambi茅n se admiten otros formularios de URL, seg煤n el protocolo que se utilice, como este para SSH:

    • [email聽protected]:path/to/repo/project.git

    En cuanto a los repositorios locales, puede utilizar uno de los siguientes formularios:

    • /path/to/repo/project.git
    • file:///path/to/repo/project.git
    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *