Git Pull aktualisiert keine Dateien
-
git pull
aktualisiert Dateien aufgrund fehlender Informationen nicht -
git pull
aktualisiert keine Dateien aufgrund von nicht festgeschriebenen Dateien in Ihrem lokalen Repository
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 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