Gibt es eine Möglichkeit, eine git pull
die alle lokalen Datei-Änderungen ignoriert, ohne das Verzeichnis zu zerstören und eine git clone
?
Antworten
Zu viele Anzeigen?
Pablo Pazos
Punkte
2823
Cassiano Franco
Punkte
187
Luca C.
Punkte
9744
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.
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.
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
Ist damit Ihre Frage beantwortet? Wie zwinge ich "git pull" dazu, lokale Dateien zu überschreiben?
1 Stimmen
11 Jahre später warte ich immer noch auf eine einfache und zuverlässige Möglichkeit, dies zu tun. Ich verabscheue "git" so sehr... es verschwendet so viel meiner Zeit.