Hallo
Mir ist aber auch mit den Tutorials und Tutorial-Videos nicht klar, wie ich jetzt starten soll.
Ich habe 2 Server, auf die ich beide direkten Zugriff über ein gemapptes Laufwerk habe (Windows-Freigabe und Linux-Samba). Beide Server haben natürlich schon vorhandene Dateien im jeweiligen Verzeichnis /srv/www/htdocs.
Grundsätzliches Vorgehen:
Auf dem Testserver hast du ein Repository. Hier entwickelst du neue Features, behebst Fehler, testest den veränderten Code ganz normal mit deinem Editor oder einer IDE und commitest die einzelnen Änderungen in die Historie des Repositories. Der jeweils aktuelle Code liegt ganz normal in seinen Verzeichnissen, Git kümmert sich nur um die Historie der Änderungen.
Auf dem Produktivserver gibt es eine Kopie des Repositories. Es befindet sich im Dateisystem direkt in den Verzeichnissen, in denen das Programm werkelt. Mit git pull
holst du den aktuellen Stand des Repositories vom Entwicklungsserver, wenn du einen dortigen Stand für stabil hältst. Damit befindet sich ein synchronisierter Stand automatisch in der Produktion.
Ich habe also erstmal ein neues lokales (Test-)Repository auf einem Server erstellt. Dabei wurde aber ein neues leeres Verzeichnis angelegt.
Normalerweise sagt man Git, ein bestehendes Verzeichnis sei nun ein Git-Repository. So braucht man keinen neuen Verzeichnisbaum, sondern benutzt die bestehende Struktur.
Ich habe schonmal herausgefunden, dass ich die Dateien von Hand reinkopieren kann. Diese werden vom GitKraken erkannt und ich kann sie "stagen" und danach "committen".
Wenn du stattdessen die bestehende Verzeichnisstrutur zum Repository gemacht hättest, würdest du dir das umherkopieren ersparen. Dateien und Änderungen zu stagen und zu commiten bliebe natürlich deine Aufgabe.
Das Repository wird mir als Master angezeigt. Wofür das "Stagen" jetzt benötigt wird, weiß ich nicht, denn Änderungen werden sofort in das Verzeichnis geschrieben, sobald ich speichere. Neue Dateien werden sofort im Verzeichnis angelegt.
Mache dir klar, dass ein Versionsverwaltungssystem „echte“ Änderungen im „echten“ Dateisystem bemerkt und auf deinen Befehl hin dokumentiert. Mehr (grundsätzlich) nicht, auch wenn man zum Beispiel mit git -rm verzeichnis/datei.name
Dateien löschen kann. Das kann man aber auch ganz normal im Dateinamager tun. Git bekommt es mit und bietet dir die Dokumentation dieses Vorgangs an.
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