HOWTO · Git

Cloner dans un répertoire Git non vide

Dans cet article, nous allons apprendre à cloner un dépôt Git dans un dossier non vide. Cette action est pratique lorsque vous souhaitez fusionner les fichiers de votre référentiel distant avec les fichiers de votre référentiel local actuel.

Cet article vous apprendra à cloner un référentiel Git dans un dossier non vide. Cette action est pratique lorsque vous souhaitez fusionner les fichiers de votre référentiel distant avec les fichiers de votre référentiel local actuel.

Cloner dans un répertoire Git non vide dans Git

Le clonage d’un référentiel distant est facile. Nous utilisons la commande ci-dessous.

git clone <repository-url> <directory>

Cela clonera le référentiel distant dans le répertoire spécifié. Cependant, le répertoire doit être vide.

Vous recevrez un message Avertissement fatal si vous essayez de cloner dans un référentiel non vide, comme indiqué ci-dessous.

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.

Comme le répertoire Delftscopetech existe déjà et contient certains fichiers, nous ne pouvons pas utiliser la commande git clone pour cloner notre référentiel.

Si vous n’avez pas besoin des fichiers dans le répertoire, vous pouvez les supprimer, mais si vous souhaitez fusionner les fichiers dans les deux référentiels, utilisez la méthode ci-dessous.

  1. Ouvrez le répertoire dans lequel vous souhaitez cloner votre référentiel distant.

    cd \Delftscopetech1
    
  2. Configurez un nouveau référentiel avec cette commande.

    git init
    
  3. Ajouter le référentiel distant

    git remote add origin https://github.com/Wachira11ke/Delftscopetech.git
    
  4. Tirez et fusionnez

    git pull origin main --allow-unrelated-histories
    

Exemple:

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

Nous avons cloné avec succès notre référentiel distant dans notre référentiel local avec un répertoire non vide.