Ich habe einige nachverfolgte Dateien in einem Repository, die beim Erstellen des Codes automatisch geändert werden. Ich möchte sie nicht entfernen, ich möchte nur nicht, dass sie als geändert angezeigt werden, und ich möchte nicht, dass sie inszeniert werden, wenn ich etwas hinzufüge.
Ist das möglich?
Antworten:
Sicher.
So machen Sie das Tracking rückgängig und starten es erneut:
quelle
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--assume-unchanged
ich mich beim Klonen bewerben ? Damit alle Benutzer die Dateien haben, aber keine lokalen Änderungen an ihnen in Diffs sehen.git update-index --no-assume-unchanged $(git ls-files $(git rev-parse --show-toplevel))
als Git-Alias festgelegt. Immer wenn ich vermute, dass es einige dieser Spielereien sind, mache ich das einfach.Eine andere Lösung mit Git-Attributen und% f im Filterbefehl:
quelle
Ein anderer Ansatz (aus einer jetzt gelöschten Antwort von Seth Robertson, aber ich fand sie hilfreich, um sie wiederzubeleben) besteht darin, eine "verfolgte" Vorlagendatei zu verwalten und dann eine lokale, nicht verfolgte Version davon zu haben, z. B. "config.sample.ini" oder " config.ini.template " Ein vollständiges Beispiel finden Sie unter https://gist.github.com/canton7/1423106 .
Dann gibt es keine Bedenken, wenn die Datei innerhalb von git usw. geändert wird und Sie .gitignore (endlich) für die lokalen nicht verfolgten Dateien verwenden können.
quelle