HOWTO · Git

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.

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.