Klonen in ein nicht leeres Git-Verzeichnis

John Wachira 23 August 2022
Klonen in ein nicht leeres Git-Verzeichnis

In diesem Artikel erfahren Sie, wie Sie ein Git-Repository in einen nicht leeren Ordner klonen. Diese Aktion ist praktisch, wenn Sie die Dateien in Ihrem Remote-Repository mit den Dateien in Ihrem aktuellen lokalen Repository zusammenführen möchten.

Klonen in ein nicht leeres Git-Verzeichnis in Git

Das Klonen eines entfernten Repositorys ist einfach. Wir verwenden den folgenden Befehl.

git clone <repository-url> <directory>

Dadurch wird das Remote-Repository in das angegebene Verzeichnis geklont. Das Verzeichnis sollte jedoch leer sein.

Sie erhalten eine Schwerwiegende Warnung, wenn Sie versuchen, ein nicht leeres Repo zu klonen, wie unten gezeigt.

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.

Da das Verzeichnis Delftscopetech bereits existiert und einige Dateien enthält, können wir den Befehl git clone nicht verwenden, um unser Repository zu klonen.

Wenn Sie die Dateien im Verzeichnis nicht benötigen, können Sie sie löschen, aber wenn Sie die Dateien in beiden Repositorys zusammenführen möchten, verwenden Sie die folgende Methode.

  1. Öffnen Sie das Verzeichnis, in das Sie Ihr Remote-Repository klonen möchten.

    cd \Delftscopetech1
    
  2. Richten Sie mit diesem Befehl ein neues Repository ein.

    git init
    
  3. Fügen Sie das Remote-Repository hinzu

    git remote add origin https://github.com/Wachira11ke/Delftscopetech.git
    
  4. Ziehen und zusammenführen

    git pull origin main --allow-unrelated-histories
    

Beispiel:

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

Wir haben unser Remote-Repository erfolgreich mit einem nicht leeren Verzeichnis in unser lokales Repository geklont.

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

Verwandter Artikel - Git Clone