3 Stimmen

Wie kann man den Inhalt einer Datei im Arbeitsverzeichnis mit dem Inhalt einer zuvor bereitgestellten Version dieser Datei austauschen?

Ist es möglich, den Indexstatus einer bestimmten Datei mit dem Inhalt ihres Arbeitsbaums auszutauschen?

5voto

Jan Hudec Punkte 69126

Sie können Inhalte aus dem Index an jeden gewünschten Ort bringen, indem Sie git show Objekt-Name , wobei Objekt-Name ist die SHA1- oder :filename (das bedeutet die Version aus dem Index) oder revision:filename (d.h. die Version aus der gegebenen Revision). Also entweder:

git show :filename > filename.tmp
git add filename
mv filename.tmp filename

oder

OBJECT=$(git rev-parse :filename)
git add filename
git show $OBJECT > filename

Ersteres speichert die Daten auf der Festplatte, bevor der Index geändert wird, während letzteres einfach den Index nach dem Objektnamen fragt, den er hatte, ihn ändert und dann das Objekt aus dem Objektspeicher holt. Zu diesem Zeitpunkt verweist nichts mehr auf das Objekt, aber es wird nicht entfernt, bis Sie den Befehl git gc .

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