Was soll ich tun, wenn ich MS Office-Dokumente (z. B. .docx) oder OpenOffice-Dokumente (z. B. .odt) in ein Git-Repository lege?

8

Ich habe mehrere .docx , .txt und .pdf Datei in ein .git Repository eingefügt. Ich kann die lokale .docx Datei öffnen, bearbeiten, speichern; Wenn ich es jedoch zu github verschiebe und es zurück auf meinen Computer lade, klagt Word darüber, dass es nicht geöffnet werden kann.

Um .docx Datei auf GitHub zu speichern, gibt es einige wichtige Schritte, die ich mit den Git Einstellungen machen sollte?

    
Nick 09.06.2015, 09:49
quelle

1 Antwort

15

Lösung

Machen Sie eine .gitattributes -Datei in Ihrem Arbeitsverzeichnis und fügen Sie die folgende Zeile hinzu:

%Vor%

Warum nicht einfach core.autocrlf=false setzen?

Dies ist auch nützlich . Die Konfiguration von .docx als Binärformat löst jedoch nicht nur dieses Problem, sondern auch mögliche Probleme bei der Zusammenführung.

Was ist der Ursprung dieses Problems?

Aus Ссылка , Abschnitt "Dateien als binär markieren". Beachten Sie den Kursivabschnitt.

  

Git schätzt normalerweise korrekt, ob ein Blob Text oder Binärdaten enthält, indem er den Anfang des Inhalts untersucht. Manchmal möchten Sie jedoch die Entscheidung überschreiben, entweder weil ein Blob später in der Datei Binärdaten enthält, oder weil der Inhalt , obwohl er technisch aus Textzeichen besteht, für einen menschlichen Leser undurchsichtig ist.

.docx format ist ein Zip-Ordner, der xml und Binärdaten wie Bilder enthält.

Git hat Ihre .docx als Textdatei (und nicht als Binärdatei) behandelt und Endzeilenzeichen ersetzt. Als von Microsoft entwickeltes Format verwendet .docx wahrscheinlich CRLF, das im Remote-Repository möglicherweise durch LF ersetzt wurde. Wenn Sie diese Datei direkt von der Fernbedienung heruntergeladen haben, hatte sie immer noch LFs.

In einer Binärdatei ersetzt Git niemals Endline-Zeichen, so dass selbst die Dateien im Remote-Repository korrekte CRLFs haben.

Anwendbare Formate

Dies gilt für jedes Dateiformat, das ein komprimiertes Paket mit Text- und Binärdaten ist. Dies beinhaltet:

Nick Volynkin 09.06.2015, 12:16
quelle

Tags und Links