Im Zuge der Weiterentwicklung von podflow habe ich mir jetzt Github ein wenig näher angeschaut. Ich fahre folgendes Setup:
Ich habe einen eigenen kleinen Webserver in meiner Wohnung, auf dem ich mein Arbeitsverzeichnis für podflow und dessen Entwicklung habe. Auf diesen Webserver kann ich auch per Domain von außer zugreifen, um somit auch Remote zu arbeiten und vor allem: zu testen. So spare ich mir auf jeder potenziellen Arbeitsmaschine die Installation von XAMPP und der Synchronisierung der Datenbank, da alles zentral läuft.
Ich habe Github Dekstop auf meinem PC installiert und das Arbeitsverzeichnis auf meinem server (Netzwerkpfad) gelegt.
So kann ich folgendes sicherstellen: wenn ich am PC arbeite und das Repo auf z.B. einen alten Branch zum Hotfixen wechsle, dann ändern sich somit auch automatisch die Dateien im Arbeitsverzeichnis und das Ergebnis im Browser, da die Dateien ja im Serververzeichnis entsprechend geladen werden.
Soweit so gut!
Jetzt kann es durchaus vorkommen, dass ich auch mal an PCs arbeite, auf denen ich keinen direkten Zugriff auf meinen Server habe und nur per FTP die bearbeiteten Dateien auf das Serververzeichnis bekomme.
Sobald ich also auf einem fremden PC das Arbeitsverzeichnis lokal und NICHT auf meinen Server lege (z.B. auf dem Dekstop), dann dort Änderung an Dateien vornehme, diese per FTP wiederum in das Arbeitsverzeichnis auf den Server lege (mein git-repo des Dekstop PCs) bekomme ich am PC beim Öffnen von Github Desktop eine Meldung, dass die Datei geändert wurde und sie noch commited werden muss.
Das habe aber ja aber schon auf dem Fremdrechner (vor dem FTP-Upload) und die Datei im Repo am Webserver ist bereits aktuell. Er will quasi nochmal die gleiche Datei mit dem gleichen Versionsstand auf github schieben.
Ich habe also das Problem, dass ich auf einem fremden Rechner ohne direkten Zugriff auf meinen Server z.B Hotfixes in alten Branches nicht testen kann, da ja auf dem Server grundsätzlich die aktuelle Entwicklungsumgebung geladen sein sollte, dass ich weiter entwickeln kann
Wenn ich jetzt auf einem fremden Rechner einen alten Versionsstand lokal ziehe und die Datei bearbeite, dann würde ich (normalerweise) die alte, gefixte Datei per FTP auf meinen Server ziehen. Das haut aber nicht hin, da ja hier die neue, weiterentwickelte Struktur geladen und somit nicht funktionieren würde.
Alternative wäre, dass ich mir einen eigenen Git-Server aufsetze, weil ich dann in jedem Fall mein Repo in meiner Git-Anwendung entsprechend von meinem Server laden kann. Bringt mir aber auch nix, da ich den Code gerne auch auf Github stellen würde.
Ich bräuchte daher ein bisschen Input von euch, wie man dieses Problem am besten lösen könnte oder wie andere Webentwickler den Workflow mit Github und verschiedenen Arbeitsrechnern in den Griff kriegen.