Die KDiff3 - Präferenzen (Menü Einstellungen-gtKonfigure KDiff3) hat einen Abschnitt namens Directory Merge mit diesen Optionen: Wählen Sie aus, ob die Verzeichnisse rekursiv gesucht werden sollen. Nur Dateien, die mit einem beliebigen Muster übereinstimmen, werden in den Baum gelegt. Es kann hier mehr als ein Muster angegeben werden, indem das Semikolon als Trennzeichen verwendet wird. Gültige Wildcards: und. (Z. B. cpp. h). Voreinstellung ist. Dieses Muster wird nicht für Verzeichnisse verwendet. Dateien, die diesem Muster entsprechen, werden vom Baum ausgeschlossen. Mehr als ein Muster kann hier über das Semikolon als Trennzeichen angegeben werden. Gültige Wildcards: und. Voreinstellung ist. orig. o.obj. Verzeichnisse, die diesem Muster entsprechen, werden vom Baum ausgeschlossen. Mehr als ein Muster kann hier über das Semikolon als Trennzeichen angegeben werden. Gültige Wildcards: und. Voreinstellung ist CVSdeps. svn. Ignorieren Sie Dateien und Verzeichnisse, die auch von CVS ignoriert werden sollen. Viele automatisch generierte Dateien werden von CVS ignoriert. Der große Vorteil ist, dass dieses Verzeichnis über eine lokale. cvsignore-Datei verzeichnisspezifisch sein kann. (Siehe info: / cvs / cvsignore.) Finden Sie versteckte Dateien und Verzeichnisse: Auf einigen Dateisystemen haben Dateien ein Hidden-Attribut. Auf anderen Systemen ein Dateiname beginnend mit einem Punkt. Bewirkt, dass es ausgeblendet wird. Mit dieser Option können Sie entscheiden, ob diese Dateien in die Baumstruktur aufgenommen werden sollen oder nicht. Die Standardeinstellung ist. Folgen Sie File Links: Für Links zu Dateien: Wenn deaktiviert, werden die symbolischen Links verglichen. Wenn diese Option aktiviert ist, werden die Dateien hinter den Links verglichen. Die Voreinstellung ist ausgeschaltet. Verweise auf Verzeichnisse: Für Links zu Verzeichnissen: Wenn deaktiviert, werden die symbolischen Verknüpfungen verglichen. Wenn aktiviert, wird der Link wie ein Verzeichnis behandelt und es wird rekursiv gescannt. (Beachten Sie, dass das Programm nicht überprüft, ob die Verknüpfung rekursiv ist.) So zum Beispiel ein Verzeichnis, das einen Link zu dem Verzeichnis enthält würde eine Endlosschleife verursachen, und nach einiger Zeit, wenn der Stapel überläuft oder der gesamte Speicher verbraucht wird, abstürzen Sie das Programm. ) Voreinstellung ist aus. Case Sensitive Dateinamen-Vergleich: Der Standardwert ist für Windows falsch, für andere Betriebssysteme true. Dateivergleichsmodus: Dies ist der Standard-Dateivergleichsmodus. Führen Sie eine vollständige Analyse jeder Datei durch und zeigen Sie die Spalten der Statistikinformationen an. (Anzahl der gelösten, ungelösten, nichtweißen und weißen Konflikte) Die vollständige Analyse ist langsamer als eine einfache binäre Analyse und viel langsamer, wenn sie auf Dateien verwendet wird, die keinen Text enthalten. (Geben Sie die entsprechenden Datei-Antipattern an.) Vertrauen Sie das Änderungsdatum: Wenn Sie große Verzeichnisse über ein langsames Netzwerk vergleichen, ist es möglicherweise schneller, die Änderungsdaten und die Dateilänge alleine zu vergleichen. Aber diese Geschwindigkeit Verbesserung kommt mit dem Preis von ein wenig Unsicherheit. Verwenden Sie diese Option mit Vorsicht. Die Voreinstellung ist ausgeschaltet. Ähnlich wie das Änderungsdatum. Kein wirklicher Vergleich geschieht. Zwei Dateien werden als gleich betrachtet, wenn ihre Dateigrößen gleich sind. Dies ist nützlich, wenn die Dateikopieroperation das Änderungsdatum nicht beibehalten hat. Verwenden Sie diese Option mit Vorsicht. Die Voreinstellung ist ausgeschaltet. Aktiviert den Sync-Modus, wenn zwei Verzeichnisse verglichen werden und kein explizites Zielverzeichnis angegeben wurde. In diesem Modus werden die vorgeschlagenen Operationen so gewählt, dass beide Quellenverzeichnisse danach gleich sind. Auch das Zusammenführungsergebnis wird in beide Verzeichnisse geschrieben. Die Voreinstellung ist ausgeschaltet. Kopieren Sie statt der Verschmelzung neu: Anstelle der Verschmelzung kopiert die vorgeschlagene Operation die neuere Quelle, wenn Änderungen stattgefunden haben. (Gilt als unsicher, da es impliziert, dass Sie wissen, dass die andere Datei nicht bearbeitet wurde.) Überprüfen Sie, um sicherzustellen, dass in jedem Fall.) Default ist aus. Wenn eine Datei oder ein vollständiges Verzeichnis durch eine andere ersetzt oder gelöscht wird, wird die ursprüngliche Version mit der Erweiterung. orig umbenannt. Wenn bereits eine alte Sicherungsdatei mit der Erweiterung. orig existiert, wird diese ohne Sicherung gelöscht. Dies wirkt sich auch auf die normale Zusammenführung einzelner Dateien aus, nicht nur im Verzeichnis-Merge-Modus. Default ist on. nacho4d: Das ist seltsam, denn git sollte nicht einmal wissen, dass es erweiterte Attribute gibt. Wenn Sie es reproduzieren könnte, wäre es lohnt sich auf der git Mailing-Liste. Wie ist gute Gewohnheit auf vger. kernel. org-Listen, müssen Sie nicht abonnieren zu post (die Leute halten Sie CC39ed für Antworten) und sind irgendwie angeblich nicht auf die ziemlich hohe Lautstärke der gitvger. kernel. org Liste gegeben. Ndash Jan Hudec Es bedeutet einfach, dass, wenn git inspiziert den tatsächlichen Inhalt der Datei (es weiß nicht, dass jede gegebene Erweiterung ist keine binäre Datei - können Sie die Attribute-Datei, wenn Sie es explizit sagen wollen - siehe Manpage). Nach der Überprüfung der Dateien Inhalt hat es Zeug, das nicht in grundlegenden ASCII-Zeichen gesehen. Als UTF16 Ich erwarte, dass es lustige Charaktere haben, so denkt es seine binäre. Es gibt Möglichkeiten, git zu sagen, wenn Sie Internationalisierung (i18n) oder erweiterte Zeichenformate für die Datei haben. Im nicht genügend oben auf der genauen Methode für das Setzen, dass - Sie möglicherweise zu RTFullM benötigen -) Bearbeiten Sie: eine schnelle Suche von SO gefundenes-can-i-make-git-erkennen-ein-utf-16-file-as-text das sollte Geben Sie ein paar Hinweise. Sie sind fast, aber nicht völlig nicht falsch. Git hat die tatsächlichen Dateien überprüft und gesehen haben 39funny39 Zeichen gibt. Allerdings ist es nicht thinkquot UTF-16 ist binär. Es ist binär, da Text als ASCII-basiert definiert ist (das einzige, was das eingebaute diff zu verwertbaren Ergebnissen liefert) und UTF-16 nicht. Ja, es gibt eine Möglichkeit zu sagen, git spezielle diff für Muster definierte Dateien verwenden (mit. Gitattributes). Ndash Jan Hudec Ich sollte hinzufügen, dass 39funny Zeichen39 wirklich bedeutet, null Bytes. Ndash Jan Hudec Wir sind beide richtig, aber aus verschiedenen Perspektiven. Wir beide sagen, quotGit inspiziert den Inhalt, um seine type. quot bestimmen Wir beide sagen, dass git wissen, dass es als UTF16 behandelt werden sollte der Benutzer muss sagen, Git über. gitattributes etc. ndash Philip Oakley Jul 28 11 at 9:34 Was ist Das Gegenteil von check-attr - gibt es ein set-attr ich ursprünglich versehentlich eine Datei als UTF-16 gespeichert, dann verpflichtet und schob es, und jetzt BitBucket sieht es als UTF-16, auch nach dem erneuten Speichern als UTF-8 , Begeistert und drückt es wieder. Dies macht im Grunde meine Pull-Anfragen unmöglich zu lesen, weil Rezensenten müssen in jedem einzelnen Kommentar klicken, um Kommentar Kommentare hinzufügen. Ndash John Zabroski Ich hatte dieses Problem, wo Git GUI und SourceTree war die Behandlung von Java / JS-Dateien als binäre und somit nicht sehen Unterschied Erstellen von Datei namens Attribute in. Gitinfo Ordner mit dem folgenden Inhalt löste das Problem Wenn Sie möchten Um diese Änderung für alle Repositories zu machen, dann können Sie Attribute Datei in folgenden Speicherort hinzufügen HOME /.config / git / attributes Dies ist eine korrekte Information. Ich habe versucht, Diffs zu einer extrem großen MySQL Dump (. Sql-Datei) zu kontrollieren, aber Git behandelt es als binäre Datei, auch wenn es nur ASCII / UTF8 Daten auf sie hat. Der Grund dafür ist, dass die Zeilen super-long sind (insert values (one), (two), (three), (.), (3 million.) Seltsamerweise erhöht sich für jeden Commit das Git-Repository nicht um 1,7 gb , Aber nur 350 MB. Möglicherweise ist git komprimiert die quotbinaryquot-Datei vor dem Speichern. Ndash Alexandre T. Git tut in der Tat komprimieren Datei Blobs (mit GZip, IIRC.) Ndash jpaugh Dec 12 at 14:56 Ich habe das gleiche Problem nach der Bearbeitung einer meiner Dateien in einem neuen Editor. Wird aus dem neuen Editor verwendet eine andere Kodierung (Unicode) als mein alter Editor (UTF-8 ).So habe ich einfach gesagt, meine neue Editor, um meine Dateien zu speichern UTF-8 und dann git zeigte meine Änderungen richtig wieder und sah es nicht als eine binäre Datei. Ich glaube, das Problem war einfach, dass git nicht wissen, wie man Dateien von verschiedenen Kodierungstypen vergleichen. So der Kodierungstyp, den Sie wirklich nicht wichtig ist, Sobald es konsistent bleibt. Ich habe es nicht getestet, aber Im sicher, wenn ich nur meine Datei mit der neuen Unicode-Codierung verpflichtet hätte, das nächste Mal habe ich Änderungen an der Datei, die es die Änderungen korrekt gezeigt und nicht erkannt haben Binär, seitdem wäre es das Vergleichen von zwei Unicode-codierten Dateien und nicht einer UTF-8-Datei zu einer Unicode-Datei. Sie können eine App wie Notepad verwenden, um einfach zu sehen und ändern Sie den Codierungstyp einer Textdatei Öffnen Sie die Datei im Editor und verwenden Sie das Codierungsmenü in der Symbolleiste. Ich habe nur mehrere Stunden durchlaufen alles auf dieser Liste versucht, herauszufinden, warum eines der Testprojekte in meiner Lösung nicht Hinzufügen von Tests für den Explorer. Es stellte sich heraus, in meinem Fall, dass irgendwie (vermutlich aufgrund einer schlechten git irgendwo verschmelzen), dass VS eine Referenz das Projekt insgesamt verloren hatte. Es war noch Gebäude, aber ich bemerkte, dass es nur die Abhängigkeiten gebaut. Ich bemerkte dann, dass es nicht in der Liste der Abhängigkeiten selbst, so dass ich entfernt und neu hinzugefügt das Test-Projekt und alle meine Tests zeigte sich schließlich. Antwort # 2 am 14:51 Visual Studio wirklich isn39t relevant hier. Ndash jpaugh Ihre Antwort 2016 Stack Exchange, Inc
No comments:
Post a Comment