Git löschte nicht abgetrennte Dateien beim Ziehen

9

Ich habe ein Git-Repository auf dem Computer erstellt und es auf meinen Server geschoben. Dann ging ich in einen Ordner auf einem anderen Computer, der mit dem Inhalt des Repositorys zusammengeführt werden sollte.

Hier sind die genauen Schritte, die ich ausgeführt habe (ich habe es reproduziert): Auf dem ersten Repository:

%Vor%

Auf der zweiten Seite (der Datei, wo Dateien gelöscht werden):

%Vor%

Was ich erwartet hatte, war, dass Git diese Dateien ziehen würde und ich dann meine lokalen Dateien übernehmen und wieder hochschieben könnte. Aber jetzt sind meine lokalen Dateien weg. Hat git wirklich nur lokale Dateien ohne Warnung gelöscht (ich habe keine Force-Option o.ä. verwendet)?

Gibt es eine Möglichkeit, sie zurück zu bekommen oder ist es das beabsichtigte und erwartete Verhalten, nur nicht verfolgte Dateien zu entfernen?

Ausgabe von nur git status sagt:

%Vor%

Ich habe diese Schritte einfach mit einem Testrepository reporduziert und passiert wie beschrieben: Die Datei "a" wird in das Repository Nummer zwei gezogen, aber die Datei "b" ist nicht verschwunden (nur a wird durch 'ls' angezeigt).

    
javex 06.12.2012, 13:44
quelle

1 Antwort

3

Nun, ich finde eine andere seltsame Sache.

In der Hilfe von git pull gibt es einen solchen Satz wie folgt:

  

"Im Standardmodus ist git pull eine Abkürzung für git fetch gefolgt von   git merge FETCH_HEAD "

Also verwende ich $git fetch und dann $git merge FETCH_HEAD anstelle von git pull origin master oben. Dann, was für eine erstaunliche, Datei b ist immer noch da.

Also, ich weiß wirklich nicht, was git pull origin master genau macht.

Ich habe auch eine Erklärung in

gesehen

Ссылка

das ist "git merge findet, dass es keinen gültigen HEAD hat und daher einen Hard-Reset durchführt, der offensichtlich alle bereits vorhandenen Dateien überschreibt."

Aber ich bezweifle das wirklich, weil ich $git merge FETCH_HEAD erfolgreich verwenden kann.

Wenn Sie die verlorenen Dateien finden möchten, können Sie Git sehen Ziehen Sie gelöschte nicht festgeschriebene Änderungen von @ellotheth

    
pktangyue 20.12.2012, 10:40
quelle

Tags und Links