Anzeige:
Ergebnis 1 bis 7 von 7

Thema: GIT reagiert nicht auf Änderungen in verlinkten Dateien

  1. #1
    Registrierter Benutzer Avatar von f.gruber
    Registriert seit
    Jan 2006
    Beiträge
    117

    GIT reagiert nicht auf Änderungen in verlinkten Dateien

    Hallo,
    habe erste Versuche mit GIT gemacht und stehe schon vor einem für mich unlösbaren Problem.

    In meinem Projektverzeichnis sind Symlinks, die auf Dateien verweisen, die von mehreren Projekten genutzt werden.
    Git reagiert nicht auf Änderungen, die ich in verlinkten Dateien mache.

    Code:
    git add .
    git status
    Auf Branch master
    nichts zu committen, Arbeitsverzeichnis unverändert
    Was mache ich falsch bzw. verstehe ich falsch?

    Ich weiß, dass das keine spezifische Linuxfrage ist. Finde aber kein deutschsprachiges Forum, wo ich diese Frage stellen könnte.
    Also bitte um Nachsicht.
    Gruß
    Ferdinand

  2. #2
    Registrierter Benutzer Avatar von ThorstenHirsch
    Registriert seit
    Nov 2002
    Beiträge
    6.558
    Also an git liegt's nicht, würde ich nach einem Test hier bei mir sagen.

    commit1: a@ -> ../a
    commit2: a@ -> ../b

    Da hat git die Änderung des Ziels des Symlinks mitbekommen.
    ¡Nuestro amigo... el Computador!

  3. #3
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.061
    Wenn sich der Link ändert sollte Git das mitbekommen.

    Wenn sich an der verlinkten Datei etwas ändert - hm, aus meiner Sicht macht git da alles richtig wenn es eben keine Änderung anzeigt. Es hat sich ja im Projekt selbst nichts geändert.

    Siehe auch https://www.google.com/search?client...t+linked+files - Und wenn Du das wirklich willst - z.B. darin https://superuser.com/questions/1748...mlinked-folder

    Grundsätzlich würde ich aber sagen: Was im Projekt liegt, gehört in's Projekt. Was außerhalb liegt gehört in ein anderes Projekt. Wenn da Abhängigkeiten vorhanden sind ist das durch das Build-System zu lösen.

    ... oder Du musst eben "umstrukturieren".
    Ich bin root - ich darf das.

  4. #4

  5. #5
    Registrierter Benutzer Avatar von f.gruber
    Registriert seit
    Jan 2006
    Beiträge
    117
    Ok, so weit ich das alles verstanden habe, wird bei einem Symlink, der sich im Projektverzeichnis befindet, von GIT eine Änderung am Inhalt der verlinkten Datei nicht berücksichtigt.

    Nun habe ich mir aber über Jahre eine Struktur aufgebaut, die so gedacht ist: Ich binde von verschiedenen Projekten genutzte Bibliotheken mit Hilfe von Symlinks in ein jeweiliges Projektverzeichnis ein.

    Ich nehme an, dass wohl jeder Programmierer gemeinsam genutzte Bibliotheken hat. Und viele davon werden wohl trotzdem GIT nützen.

    Ich bin leider kein Profi und ich stehe jetzt etwas auf dem Schlauch, wie ich das mit den gemeinsam genutzten Dateien organisieren soll, wenn ich mit GIT arbeiten will.

    Sehe ich das richtig, dass ich statt Symlinks zu verwenden, jedes Verzeichnis, in dem sich meine Bibliotheken befinden, als eigenes GIT Projekt führen muss und im PHP-Code die Dateien direkt von dort, wo sie sich tatsächlich befinden, includen muss. Dann würde ich ja die Symlinks nicht mehr brauchen.

    Oder gibt es da andere Möglichkeiten?
    Gruß
    Ferdinand

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.819
    jein, ja eigene Projekte, ab dann mehrere Optionen, wobei dein vorgehen nach external bzw bei git submodules klingt - https://git-scm.com/book/en/v2/Git-Tools-Submodules
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  7. #7
    Registrierter Benutzer Avatar von f.gruber
    Registriert seit
    Jan 2006
    Beiträge
    117
    Zitat Zitat von nopes Beitrag anzeigen
    ... wobei dein vorgehen nach ... submodules klingt ...
    Ich habe jetzt alle meine Projekte umorganisiert.

    Die externen Bibliotheken (/srv/www/include) verwalte ich jetzt außerhalb der documentRoot des Servers und unabhängig von den jeweiligen Projekten als eigenes GIT Repository.
    In jedem meiner Projekte existiert das obige include Verzeichnis als Symlink. Ich binde es aber nicht über submodules ein. GIT speichert also im Repo nur den Link, was mir zunächst einmal recht ist.

    Zunächst einmal kümmere ich mich manuell darum, dass jeweils die richtige Version (= branch) der für ein Projekt benötigten Include-Dateien angezeigt bzw. ausgechecked ist.
    Später, wenn ich mehr Erfahrung mit GIT habe, werde ich mich möglicherweise mit den submodules beschäftigen. Mit meinem derzeitigen Wissensstand ist mir das zu unsicher.

    Jedenfalls vielen Dank für den Hinweis.
    Geändert von f.gruber (24.03.19 um 21:50 Uhr)
    Gruß
    Ferdinand

Ähnliche Themen

  1. Gwenview speichert Änderungen nicht
    Von f.gruber im Forum Anwendungen Allgemein, Software
    Antworten: 2
    Letzter Beitrag: 24.02.08, 21:21
  2. gwenview speichert Änderungen nicht
    Von ManuelW im Forum Anwendungen Allgemein, Software
    Antworten: 1
    Letzter Beitrag: 23.02.08, 23:34
  3. php.ini änderungen werden nicht übernomen
    Von ][Schlumpf][ im Forum Linux als Server
    Antworten: 4
    Letzter Beitrag: 11.09.07, 07:04
  4. Änderungen in php.ini wirken nicht
    Von TheAnimal im Forum Linux als Server
    Antworten: 4
    Letzter Beitrag: 13.05.04, 12:58
  5. php.ini nimmt änderungen nicht an...
    Von Andislack im Forum Linux als Server
    Antworten: 5
    Letzter Beitrag: 04.08.02, 16:20

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •