Git: Nachverfolgte Dateien ignorieren

Lesezeit: 2 Minuten

Ich habe einige nachverfolgte Dateien in einem Repository, die beim Erstellen des Codes automatisch geändert werden. Ich möchte sie nicht untracken, ich möchte nur nicht, dass sie als geändert angezeigt werden, und ich möchte nicht, dass sie inszeniert werden, wenn ich git adde.

Ist das möglich?

  • mögliches Duplikat von git: kann ich eine Datei committen und die Inhaltsänderungen ignorieren?

    – Ciro Santilli 新疆再教育营六四事件法轮功郝海东

    20. Februar 2015 um 15:49 Uhr

  • Wenn diese Dateien automatisch generiert durch den Build, dann sollten sie nicht in Git verfolgt werden.

    – Kodierung

    17. Mai 2015 um 3:27 Uhr

  • Hier ist ein kurzes Tutorial zu Gitignore, das Sie möglicherweise nützlich finden: learningpassion.wordpress.com/2016/06/17/…

    – Joker

    26. Juni 2016 um 12:43 Uhr

Git Nachverfolgte Dateien ignorieren
Nick Vey

Sicher.

git update-index --assume-unchanged [<file> ...]

Rückgängig machen und Tracking erneut starten:

git update-index --no-assume-unchanged [<file> ...]

  • Was passiert mit Dateien in diesem Zustand, wenn ich Änderungen daran ziehe?

    – Heumannsfeld

    31. Mai 2012 um 14:17 Uhr

  • @haymansfield Die Hilfeseite für den Befehl sagt Folgendes 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.

    – Parham

    2. September 2014 um 12:33 Uhr


  • Bewerben auf jeden Fall --assume-unchanged beim Klonen? Damit alle Benutzer die Dateien haben, aber keine lokalen Änderungen an ihnen in Diffs sehen.

    – Gauthier

    24. April 2015 um 8:33 Uhr


  • @Tyler – nein, sobald eine Datei von Git verfolgt wird, wird sie immer verfolgt, auch wenn diese Datei in einer .gitignore-Datei erscheint. Mein Anwendungsfall ist so etwas wie “Hier ist eine Basisvorlage einer Datei, in der Sie Ihre Anmeldeinformationen speichern würden, jetzt niemals festschreiben”.

    – Jon V

    20. Januar 2017 um 22:01 Uhr

  • @watbywbarif ich den Befehl habe git update-index --no-assume-unchanged $(git ls-files $(git rev-parse --show-toplevel)) als Git-Alias ​​festlegen. Immer wenn ich vermute, dass es sich um einige dieser Spielereien handelt, mache ich das einfach.

    – Philippe Carphin

    13. Februar 2019 um 22:17 Uhr


1646354885 809 Git Nachverfolgte Dateien ignorieren
rogerpack

Ein anderer Ansatz (aus einer jetzt gelöschten Antwort von Seth Robertson, aber ich fand es hilfreich, es wiederzubeleben) besteht darin, eine “nachverfolgte” Vorlagendatei zu verwalten und dann eine lokale, nicht nachverfolgte Version davon zu haben, z. B.: “config.sample.ini” oder ” config.ini.template” siehe https://gist.github.com/canton7/1423106 für ein vollständiges Beispiel.

Dann gibt es keine Bedenken, wenn die Datei innerhalb von Git usw. geändert wird, und Sie können .gitignore (endlich) für die lokalen nicht verfolgten Dateien verwenden.

1646354886 849 Git Nachverfolgte Dateien ignorieren
koct9i

Eine andere Lösung mit Git-Attributen und %f im Filterbefehl:

git config filter.orig.clean "cat %f.orig"
cp filename filename.orig
echo "filename filter=orig" >> .git/info/attributes
echo "filename.orig" >> .git/info/exclude

  • Können Sie mehr Details darüber geben, was das bedeutet und was es zufällig tut?

    – Rogerpack

    30. Januar 2017 um 16:52 Uhr

  • Dadurch wird ein Filter für die Datei hinzugefügt, die den Inhalt aus der “.orig”-Datei liest, die den Originaltext enthält

    – koct9i

    6. Januar 2019 um 19:09 Uhr

929190cookie-checkGit: Nachverfolgte Dateien ignorieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy