742 Stimmen

Wie kann man mit `git pull` lokale Änderungen ignorieren?

Gibt es eine Möglichkeit, eine git pull die alle lokalen Datei-Änderungen ignoriert, ohne das Verzeichnis zu zerstören und eine git clone ?

29 Stimmen

Meinen Sie mit "ignorieren" "überschreiben"?

5 Stimmen

@Cascabel Es bedeutet, alle lokalen Änderungen rückgängig zu machen, alle lokalen Commits aufzuheben, alle lokalen neuen Dateien und Verzeichnisse zu löschen, alle lokal gelöschten Dateien und Verzeichnisse wiederherzustellen, usw. Kurz gesagt, führen Sie einfach einen Befehl aus, als ob rm -rf local_repo && git clone remote_url .

1 Stimmen

13voto

Pablo Pazos Punkte 2823

Das hat bei mir funktioniert

git fetch --all
git reset --hard origin/master
git pull origin master

mit der akzeptierten Antwort erhalte ich Konfliktfehler

13voto

Cassiano Franco Punkte 187

Das tue ich normalerweise:

git checkout .
git pull

Im Root-Ordner des Projekts.

12voto

Luca C. Punkte 9744
git fetch --all && git reset --hard origin/master

10voto

Seth Johnson Punkte 13931

Mira Deppenhaufen um alle Ihre lokalen Änderungen in einer "Stash-Datei" abzulegen und zum letzten Commit zurückzukehren. Zu diesem Zeitpunkt können Sie Ihre zwischengespeicherten Änderungen anwenden oder sie verwerfen.

9voto

Strahinja Kustudic Punkte 3745

Wenn Sie mit Linux arbeiten:

git fetch
for file in `git diff origin/master..HEAD --name-only`; do rm -f "$file"; done
git pull

Die for-Schleife löscht alle getrackten Dateien, die im lokalen Projektarchiv geändert wurden, also git pull wird problemlos funktionieren.
Das Schöne daran ist, dass nur die getrackten Dateien durch die Dateien im Repo überschrieben werden, alle anderen Dateien bleiben unberührt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X