Wir haben eine Konfigurationsdatei im Repo, zu der alle Benutzer basierend auf ihrer Funktion beitragen. Für meine lokalen Tests muss ich zwei Werte in dieser Konfigurationsdatei manuell ändern, aber ich möchte nie, dass meine Änderungen zurück auf den Server übertragen werden.
Ich möchte jedoch Updates in die Datei ziehen, wenn sich eine neuere Version im Repository befindet, auch wenn dies bedeutet, dass meine lokalen Änderungen überschrieben werden. Das ist in Ordnung, ich kann sie einfach wieder aus einem Vorrat machen, den ich speziell dafür erstellt habe.
Was ich mich frage ist, ob ich Git sagen kann “Hey… das werde ich” noch nie meine lokalen Änderungen auf den Server zurückschieben, also mir nicht als geändert anzeigen, aber wenn Sie habe neue Änderungen für mich, lass mich sie haben, wenn ich ziehe!”
Hier ist ein Beispiel für das, was ich suche.
Server: VersionA
Local: [Nothing]
(I do a Git Pull)
Server: VersionA
Local: VersionA
(I make local changes)
Server: VersionA
Local: VersionA (Modified)
(What I want...)
Server: VersionA
Local: VersionA (Modified, but ignored locally by Git)
(Someone checks in an update to the file)
Server: VersionB
Local: VersionA (Modified, but local changes ignored by Git)
(I do a git Pull)
Server: VersionB
Local: VersionB (This overwrites my local, modified VersionA)
(I then manually update VersionB with my stashed changes)
Server: VersionB
Local: VersionB (modified, but local changes ignored by Git)
Der .gitignore
Datei trifft hier nicht zu, da dadurch das Hinzufügen neuer Dateien verhindert wird, aber auch diese Datei hat schon hinzugefügt worden. Ich möchte nur, dass meine lokalen Änderungen immer ignoriert werden, als ob sie nicht vorhanden wären. Mich interessiert nur, wenn sich die Datei auf dem Server geändert hat.
Kann Git dafür konfiguriert werden?
Ich denke, Sie sollten den Workflow ändern und mit einer Kopie dieser Datei arbeiten. In einem Repository speichert Ihr Team nur ein Beispiel der Datei, und wenn es geändert wird, können Sie Ihre Arbeits- und Beispielkopien zusammenführen.
– mymedia
10. August ’17 um 18:52