Wir migrieren von Perforce zu GIT. Notwendigerweise gab es einige Dateien, die ich im Repository haben wollte, aber sie sollten nicht regelmäßig von einzelnen Entwicklern eingecheckt werden. Dinge wie Eclipse-Projektdateien. Jeder Entwickler erhält möglicherweise die anfängliche .project-Datei, passt sie dann jedoch leicht an seine Umgebung an.
Mit P4 konnte ich diese Dateien nehmen, sie in eine separate Änderungsliste einfügen und sie vergessen. Die Synchronisierung würde sie nicht überschreiben und sie würden nicht festgeschrieben, wenn ich meine Standard-Änderungsliste festgeschrieben habe.
Gibt es eine Möglichkeit, etwas Ähnliches mit GIT zu tun?
Ich möchte immer noch in der Lage sein, “git commit -a”
Sie suchen wahrscheinlich
git update-index --assume-unchanged .project

VonC
Wenn Sie eine gemeinsame Basis für diese benötigen (.project
, .classpath
…), du kannst:
- version Vorlagenversion dieser Dateien (
.project_tpl
, .classpath_tpl
…)
- Verwenden Sie einen Filtertreiber, um beim Auschecken die tatsächlichen Dateien zu generieren (die nicht versioniert und nur lokal von den Entwicklern geändert werden).

(der ‘clean
‘-Schritt während des Commit würde nichts für diese Vorlagen tun.
Nur der ‘smudge
‘ Schritt wird hier verwendet, um die privaten Dateien zu generieren)
Hinweis: Dies ist ein leichter “Missbrauch” eines Filtertreibers, der nur Dateiinhalte verarbeiten und keine neuen erzeugen soll.
Aber es könnte Ihnen in Ihrem Szenario helfen (vorausgesetzt, Ihr ‘smudge
‘-Skript überschreibt die Eclipse-Dateien nicht blind, wenn sie bereits hier sind.)
10029900cookie-checkMarkieren Sie eine Datei im GIT-Repository als vorübergehend ignoriertyes
mögliches Duplikat von Commiting Machine Specific Configuration Files
– Sinnvoll
3. September 2014 um 19:36 Uhr
Mögliches Duplikat von Kann ich eine Datei ‘git commit’ und ihre Inhaltsänderungen ignorieren?
– Trevor Boyd Smith
13. Dezember 2017 um 19:40 Uhr
Ich möchte immer noch in der Lage sein, “git commit -a” — das ist genau dein Problem, genau da. Mit
git
Sie legen in der Regel nicht alles fest, sondern überprüfen, was sich geändert hatgit status
undgit diff
entscheiden Sie, was Sie hinzufügen (bzw.gitignore
), und binden Sie dann genau das ein, was Sie brauchen. Dieser Arbeitsablauf stellt sicher, dass Ihre Commits keine Unordnung wie versehentlich eingecheckte Objekt- oder temporäre Dateien usw. enthalten. Siehe Erstellen von agit
Geschichte erzählt eine Geschichte, und je besser Sie sie erzählen, desto nützlicher wird sie sein. Besser nicht mit gedankenlosem Begehen-meinen-Müllhaufen beschmutzen.– Cmaster – Wiedereinsetzung von Monica
29. Januar 2018 um 16:14 Uhr