T-Rex: Git: add all ignoriert gelöschte Verzeichnisse

Moin,

dieses Jahr bin ich von Linux auf Windows umgezogen. Unter Linux konnte ich mit git add * alle Dateien für einen Upload vormerken. Wenn ich später einen git push ausführte, wurden alle Dateien hochgeladen. Es wurden zudem gelöschte Verzeichnisse ebenfalls berücksichtigt und im Respository gelöscht (zumindest meine ich mich daran zu erinnern).

Auf Windows scheint alles etwas konfuser zu sein. Es werden zwar Dateien im respository gelöscht, die ich auch lokal lösche, aber doch nicht alle. Vor allem werden Verzeichnisse nicht gelöscht. Das führt dazu, dass im Repository alte Verzeichnisse und Dateien übrig bleiben und das Repository zumüllen.

Kann man git irgendwie mitteilen rigoros alle Dateien die es lokal nicht gibt auch im Repository zu löschen? Sowas wie git add * -u -d -was -weiß -ich 😀

Git Gruß

Git Name T -R -e -x

  1. Hi,

    Auf Windows scheint alles etwas konfuser zu sein. Es werden zwar Dateien im respository gelöscht, die ich auch lokal lösche, aber doch nicht alle. Vor allem werden Verzeichnisse nicht gelöscht. Das führt dazu, dass im Repository alte Verzeichnisse und Dateien übrig bleiben und das Repository zumüllen.

    Ist evtl die Schreibweise (case) unterschiedlich?

    cu,
    Andreas a/k/a MudGuard

  2. Hallo

    Moin,

    dieses Jahr bin ich von Linux auf Windows umgezogen. Unter Linux konnte ich mit git add * alle Dateien für einen Upload vormerken. Wenn ich später einen git push ausführte, wurden alle Dateien hochgeladen. Es wurden zudem gelöschte Verzeichnisse ebenfalls berücksichtigt und im Respository gelöscht (zumindest meine ich mich daran zu erinnern).

    Auf Windows scheint alles etwas konfuser zu sein. Es werden zwar Dateien im respository gelöscht, die ich auch lokal lösche, aber doch nicht alle. Vor allem werden Verzeichnisse nicht gelöscht. Das führt dazu, dass im Repository alte Verzeichnisse und Dateien übrig bleiben und das Repository zumüllen.

    Ich benutze Git in Windows im Kontext von SourceTree (liefert eine eigenen MingW-getriebene Kopie von Git mit) und kann dein Problem nicht nachvollziehen. Es kann natürlich sein, dass das „nackte“ Git in Windows das anders macht (warum das auch immer so sein sollte). Git sollte aber erkennen, ob eine Datei oder ein Verzeichnis entfernt wurden.

    Ergebnis meiner Tests mit dem SourceTree-eigenen Git:

    Ein im Windows-Explorer gelöschtes Verzeichnis (mit Dateien, die zum Repo gehörten) wird aus dem Repo entfernt. Ein Verzeichnis, aus dem mit dem Windows-Explorer alle Dateien, die zum Repo gehörten, gelöscht wurden, wird beim Commit dieser Änderung selbst aus dem Dateisystem und aus dem Repo gelöscht. Den Git eigenen Befehl git rm <dateiname> zum löschen von Dateien (und auch Verzeichnissen!) habe ich jetzt allerdings nicht getestet.

    Tschö, Auge

    --
    Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
    Hohle Köpfe von Terry Pratchett