Ich möchte git
verwenden um Änderungen in crontab
zu verfolgen .
Ich habe ein neues Git-Repository in /var/spool/cron/crontabs/
initialisiert
Das Problem ist nun, dass sich beim Speichern von crontab die zweite Zeile des Headers ändert, weil sie timestamp enthält.
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.ubNueW/crontab installed on Thu Aug 1 06:29:24 2019)
Was wäre der einfachste Weg, diese irrelevanten Änderungen zu ignorieren?
Die mögliche doppelte Frage geht nicht auf den Hauptpunkt meiner Frage ein:Wie man die ersten 2 irrelevanten Zeilen von crontab ignoriert. Stattdessen spricht es einige andere Fragen an, die ich nicht gestellt habe, wie zum Beispiel einige Haken.
Akzeptierte Antwort:
Sie könnten einen Filter verwenden:
git config filter.dropSecondLine.clean "sed '2d'"
Bearbeiten/erstellen Sie .git/info/attributes und fügen Sie hinzu:
* filter=dropSecondLine
Wenn Sie nicht möchten, dass der Filter auf alle Dateien im Repo wirkt, ändern Sie das * so, dass es mit einem geeigneten Muster oder Dateinamen übereinstimmt.
Der Effekt wird sein, dass das Arbeitsverzeichnis gleich bleibt, aber die Repo-Blobs haben nicht die zweite Zeile in den Dateien. Wenn Sie es also an einer anderen Stelle nach unten ziehen, wird die zweite Zeile nicht angezeigt (das Ergebnis von sed ‘d2’). Und wenn Sie die zweite Zeile Ihrer Protokolldatei ändern, können Sie sie hinzufügen, aber nicht festschreiben, da die Änderung am Blob beim Hinzufügen erfolgt. An diesem Punkt ist es dieselbe Datei wie die im Repo.