Git Pull aktualisiert keine Dateien

John Wachira 23 August 2022
  1. git pull aktualisiert Dateien aufgrund fehlender Informationen nicht
  2. git pull aktualisiert keine Dateien aufgrund von nicht festgeschriebenen Dateien in Ihrem lokalen Repository
Git Pull aktualisiert keine Dateien

In diesem Artikel wird erläutert, warum der Befehl git pull die Dateien in Ihrem lokalen Repository möglicherweise nicht mit den Dateien aus Ihrem Remote-Repository aktualisieren kann.

Die git pull-Funktion kann aus mehreren Gründen versagen. Wir schauen uns die häufigsten Ursachen an und wie Sie diese beheben können.

git pull aktualisiert Dateien aufgrund fehlender Informationen nicht

Wenn Git nicht über genügend Informationen verfügt, mit denen Sie arbeiten können, erhalten Sie möglicherweise eine Fehlermeldung wie die folgende.

$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
    git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
    git branch --set-upstream-to=<remote>/<branch> master

Wenn Sie eine solche Nachricht erhalten, fordert Git Sie auf, den Remote-Zweig anzugeben, der mit Ihrem aktuellen lokalen Zweig verfolgt werden soll. Verwenden Sie den Befehl git branch --set-upstream-to=<remote>/<branch> master und führen Sie dann den Befehl git pull aus, um Git darauf zu verweisen, woher die Änderungen kommen sollen.

git pull aktualisiert keine Dateien aufgrund von nicht festgeschriebenen Dateien in Ihrem lokalen Repository

Als Quellcodeverwaltungssystem tut Git sein Bestes, um zu verhindern, dass Sie Ihre Dateien und Daten verlieren. Aus diesem Grund kann Git sich weigern, Ihre lokalen Dateien mit Dateien aus Ihrem Remote-Repository zusammenzuführen, wenn Sie den Befehl git pull ausführen.

Da Git keinen forced git pull-Befehl hat, können Sie das System aufrufen, um die Änderungen zusammenzuführen. Wenn Sie nicht festgeschriebene Änderungen haben, erhalten Sie wahrscheinlich eine Fehlermeldung wie die unten gezeigte.

$ git pull
From REPOSITORY_URL
 * branch            master     -> FETCH_HEAD
   a152b19..171e4a2  master     -> origin/master
Updating a152b19..171e4a2
error: Your local changes to the following files would be overwritten by merge:
  file1.txt
  file2.txt
Please commit your changes or stash them before you merge.
Aborting

Um dies zu beheben, führen Sie den Befehl git stash aus, um Ihre lokalen Änderungen zu speichern, bevor Sie den Befehl git pull ausführen.

Der letzte Schritt besteht darin, nach dem Befehl git pull git stash apply auszuführen. Dieser Befehl wendet die gespeicherten Änderungen auf Ihr Arbeitsverzeichnis an.

$ git stash
Saved working directory and index state WIP on master: d91368b Previous commit message
$ git pull
From REPOSITORY_URL
 * branch            master     -> FETCH_HEAD
   a152b19..171e4a2  master     -> origin/master
Updating a152b19..171e4a2
Fast-forward
 file1.txt | 1 +
 file2.txt | 1 +
 2 files changed, 2 insertions(++)
$ git stash apply

Sie können die Änderungen auch festschreiben, bevor Sie den Befehl git pull ausführen.

$ git commit -am 'Committing two files before git-pull'
[master d91368b] Committing two files before git-pull
 2 files changed, 2 insertions(++)
$ git pull
From REPOSITORY_URL
 * branch            master     -> FETCH_HEAD
   a152b19..171e4a2  master     -> origin/master
Updating a152b19..171e4a2
Fast-forward
 file1.txt | 1 +
 file2.txt | 1 +
 2 files changed, 2 insertions(++)

Wenn Sie die lokalen Änderungen nicht benötigen, können Sie sie verwerfen, bevor Sie den Befehl git pull ausführen.

Sie können den Befehl git rest --hard und den Befehl git clean -fd verwenden, um nicht getrackte Dateien zu verwerfen. Stellen Sie sicher, dass Sie diese Änderungen nicht benötigen, da Sie eine Verwerfung nicht rückgängig machen können.

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