2016-04-27 8 views
0

Wenn vhdl-Modus in Emacs verwenden, gibt es eine Vorlage, die eine Kopfzeile mit nützlichen Informationen erstellt. Eine der Leitungen enthält das Datum der letzten Aktualisierung und wird automatisch von Emacs aktualisiert, wenn die Datei gespeichert wird:Wie bekomme ich git merge um bestimmte Zeilen zu ignorieren?

-- Last update: 2016-04-27 

Das Problem dabei, dass ein Git-Pull oder ähnliches, jedes Mal, das ich tue, dass eine Zusammenführung durchführt, Ich werde einen Konflikt in dieser Zeile bekommen, da das Datum anders sein wird.

Gibt es eine Möglichkeit, git zu veranlassen, Zeilen zu ignorieren, die z. "- Letztes Update:" und nur die neueste Version verwenden.
I.e. Es sollte die Zeile bei der Übergabe nicht ignorieren, wie in anderen Fragen gefragt, es sollte den Inhalt bei der Zusammenführung ignorieren oder einen Konflikt vermeiden.

+1

Mögliches Duplikat von [Kann git eine bestimmte Zeile ignorieren?] (Http://stackoverflow.com/questions/6557467/can-git-ignore-a-specific-line) – xero

+0

Was hat das mit Emacs zu tun? vhdl? – PlayDough

+0

@PlayDough: Es ist VHDL-Modus in Emacs, die mir das Problem gibt. Ich stelle mir vor, dass einige andere vhdl-Entwickler, die emacs verwenden, das gleiche Problem haben. – Bimme

Antwort

1

Zusammenführung funktioniert in Verzweigungen mit den Commits, die sie bilden. Commits arbeiten mit Zeilen von Dateien. Wenn Sie die Zusammenführungszeit erreicht haben, haben Sie bereits Änderungen an diesen Zeilen vorgenommen und diese Änderungen an einen Zweig weitergeleitet.

Der Weg also, Git dazu zu bringen, diese Zeilen bei der Zusammenführung zu ignorieren, ist, sie nie an erster Stelle begangen zu haben. Mit git Teil hinzufügen, können Sie interaktiv auswählen, welche Linien sind in einem Commit oder im Arbeitsverzeichnis verlassen uncommitted:

git add -p [file_or_dir]

Aber sobald Sie die Commits komponieren mit Diese Zeilen enthalten, um ihre Arbeit zu tun, Merge muss versuchen, sie anzuwenden. Siehe auch, interaktives Fütterungsmaterial (mit edit), zum Retuschieren vorherige Commits:

git rebase -i HEAD ~ [N]

Wo N ist die Zahl der Commits rückwärts Sie umschreiben möchten. Die üblichen Warnungen über die Änderung des Verlaufs der Rebase gelten hier, also tun Sie dies nur mit Ihren Zweigstellen (nicht veröffentlichte Zweige, in denen sich andere auf Ihren Verlauf verlassen).

+0

Danke für Ihren Vorschlag, aber da es sich um einen Standard-Header aus dem vhdl-Modus handelt, habe ich eine Menge von Dateien, die bereits den Header haben. Die einfache Lösung wäre, die Zeile zu entfernen, aber ich stelle mir vor, dass andere vhdl-Entwickler, die den vhdl-Modus in Emacs verwenden, das gleiche Problem haben. – Bimme

+0

Richtig, ich würde vorschlagen, entfernen und ein Projekt .EMACS-Datei, die Konfiguration für den Editor nicht die Zeile erneut einfügen. –

Verwandte Themen