Cloner dans un répertoire Git non vide

John Wachira 23 aout 2022
Cloner dans un répertoire Git non vide

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.

Auteur: John Wachira
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

Article connexe - Git Clone