Clonar en un directorio Git no vacío

John Wachira 23 agosto 2022
Clonar en un directorio Git no vacío

Este artículo enseñará cómo clonar un repositorio de Git en una carpeta no vacía. Esta acción resulta útil cuando desea fusionar los archivos de su repositorio remoto con los archivos de su repositorio local actual.

Clonar en un directorio Git no vacío en Git

Clonar un repositorio remoto es fácil. Usamos el siguiente comando.

git clone <repository-url> <directory>

Esto clonará el repositorio remoto en el directorio especificado. Sin embargo, el directorio debe estar vacío.

Recibirá un mensaje de advertencia fatal si intenta clonar en un repositorio no vacío, como se muestra a continuación.

pc@JOHN MINGW64 ~/Git (main)
$ git clone https://github.com/Wachira11ke/Delftscopetech.git
fatal: destination path 'Delftscopetech' already exists and is not an empty directory.

Dado que el directorio Delftscopetech ya existe y contiene algunos archivos, no podemos usar el comando git clone para clonar nuestro repositorio.

Si no necesita los archivos en el directorio, puede eliminarlos, pero si desea fusionar los archivos en ambos repositorios, use el método a continuación.

  1. Abra el directorio en el que desea clonar su repositorio remoto.

    cd \Delftscopetech1
    
  2. Configure un nuevo repositorio con este comando.

    git init
    
  3. Agrega el repositorio remoto

    git remote add origin https://github.com/Wachira11ke/Delftscopetech.git
    
  4. Tirar y fusionar

    git pull origin main --allow-unrelated-histories
    

Ejemplo:

pc@JOHN MINGW64 ~/Git (main)
$ cd \Delftscopetech1

pc@JOHN MINGW64 ~/Git/Delftscopetech1 (main)
$ git init
Initialized empty Git repository in C:/Users/pc/Git/Delftscopetech1/.git/

pc@JOHN MINGW64 ~/Git/Delftscopetech1 (master)
$ git remote add origin https://github.com/Wachira11ke/Delftscopetech.git

pc@JOHN MINGW64 ~/Git/Delftscopetech1 (master)
$ git pull origin master --allow-unrelated-histories
fatal: couldn't find remote ref master

pc@JOHN MINGW64 ~/Git/Delftscopetech1 (master)
$ git pull origin main --allow-unrelated-histories
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 610 bytes | 3.00 KiB/s, done.
From https://github.com/Wachira11ke/Delftscopetech
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main

Hemos clonado con éxito nuestro repositorio remoto a nuestro repositorio local con un directorio no vacío.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Clone