Eure PHP-Entwicklungsumgebung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Re: Eure PHP-Entwicklungsumgebung

Beitrag von Mungo »

gn#36 hat geschrieben:Für den selektiven Upload nutze ich ein selbsterstelltes (Linux) Shellskript, das aus dem git Repository (für SVN habe ich das aber auch schon mal geschrieben) die gewünschte Version auf den Server hochläd und dabei basierend auf der letzten hochgeladenen Version nur die Änderungen zwischen den zwei Versionen tatsächlich transferiert. Einziger Nachteil ist, dass man dafür derzeit noch eine lokale Kopie vom Git Repository braucht, die synchron zum Server ist, die Dateien liegen lokal also doppelt, denn für die Entwicklung braucht man dann noch ein zweites Repository.
Als Randnotiz: Bei git könnte man auch git-ftp verwenden. Zumindest unter Linux und OS X.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Eure PHP-Entwicklungsumgebung

Beitrag von gn#36 »

Interessant, irgendwie bin ich gar nicht auf die Idee gekommen nach sowas speziellem zu suchen. Das integriert sich ja sogar in git.

Wenn das auch bei bare Repositories funktioniert wäre das natürlich genial, auch wenn ich vermutlich erst mal bei meinen Skripten bleibe, frei nach dem Motto: "Never touch a running system".
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Eure PHP-Entwicklungsumgebung

Beitrag von BNa »

Die ganz git Geschichte hab ich bis heute nicht kapiert. Warum gibts da nicht einfach ein Programm,
man hat eine identisches 1 zu 1 Project local zu liegen, macht die Änderung im Quellcode, hoch damit, fertig.
Wie beim FTP. Warum muss das so kompliziert sein? Repositorys, Trunks etc.. Ist das alles nur für Nerds?
Upload Scripts müssen eingerichtet werden und wehe ein Fehler, dann muss das ganz Project nochmal komplett
gelöscht und wieder geladen werden. Jedenfalls hab ich es nach 3 Tagen intensiven Beschäftigens aufgegeben.
Denk mal, das sonst die Doofen git überschwemmen würden, quasie sone Art git Dummbatz Prevent.
Vielleicht gibts ja irgendwo eine Vollpfosten Anleitung. Wäre schön.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Eure PHP-Entwicklungsumgebung

Beitrag von gn#36 »

Ob das Tool nun Git, Mercurial, SVN oder sonstwie heißt ist in meinen Augen Geschmackssache. Ich würde jedenfalls nicht mehr ohne an meiner Website arbeiten wollen. Den vollen Vorteil spielt das ganze natürlich erst aus, wenn man mit mehreren Personen an einer Sache arbeitet, aber auch alleine hat es seine Vorteile.

Beispielsweise besitze ich einen Desktop PC und einen Laptop und nutze beide je nach Gutdünken um an der Seite weiterzuarbeiten. Wenn ich einfach nur eine lokale Kopie der Software vorliegen hätte, dann müsste ich mir bei jedem Gerätewechsel überlegen, wo denn nun gerade der aktuelle Stand ist und diesen dann zwischen den Geräten austauschen. So muss ich mir nur merken was ich schon programmiert habe und kann einfach drauf los legen, denn die fehlenden Änderungen werden bei der nächsten Verbindung einfach ausgetauscht, wann auch immer das sein mag. Wenn doch mal Probleme bei Änderungen auftreten (z.B. weil ich die gleichen Dinge auf beiden Rechnern geändert habe) dann wird das einem mitgeteilt und meist lässt es sich auch relativ einfach und schnell beheben.

Außerdem kann man relativ einfach an großen Änderungen arbeiten (die nicht mal so eben Stückchenweise eingepflegt werden können) aber gleichzeitig Bugfixes einpflegen, die sich dann sowohl auf die Version mit den großen Änderungen als auch auf die ohne diese auswirken ohne dass man von Hand die Änderungen übertragen müsste. Wenn irgendwo ein Bug auftritt, der vorher noch nicht war kann man mit einem Diff ziemlich leicht rauskriegen, in welchen Zeilen man den Fehler eingebaut hat, wenn der Fehler schon was länger da war gibt es Funktionen, die die Version finden, in der man ihn eingebaut hat, ....

Aber ich gebe dir recht, es bedeutet eine gewisse Einarbeitung. Gerade GIT fand ich nicht unbedingt besonders intuitiv am Anfang. SVN ging da irgendwie leichter, weil man das System der Sortierung in einer Ordnerstruktur schon irgendwie gewohnt ist, während Git ja branches nicht wie Ordner behandelt. SVN ist im Prinzip eine erweiterte Ordnerstruktur mit platzsparender Speicherung und Gedächtnis, vom Konzept her funktionieren dort daher viele Dinge so ähnlich, wie man sie bei normalen Ordnern erledigen würde (wenn ich einen Zwischenstand einer Software später noch brauche, dann lege ich mir einen separaten Ordner an, der diese Version enthält, für eine Nebenentwicklung genauso, usw.), bietet allerdings Zusatzfunktionen die man sonst nicht hätte, die insbesondere parallele Entwicklung in den selben Dateien ermöglichen und vereinfachen. Git ist da konzeptuell etwas weiter von entfernt, denn ein Branch ist eben kein Ordner sondern ein separater Entwicklungszweig der gleichen Software und wird wieder von Tags (also "Etiketten" für eine spezielle Version) unterschieden.

Das verwirrende resultiert aber eher aus der dezentralen Ausrichtung: Ein und der selbe Entwicklungszweig wird auf zwei Rechnern getrennt behandelt und resultiert beim zusammenführen in zwei verschiedenen Entwicklungszweigen, die man dann wieder zusammenführen muss. Jeder der Zweige kann beliebig viele Versionen enthalten und wieder in beliebige andere Zweige (die möglicherweise auch wieder auf der selben Basis stehen) eingehen so dass eine riesige Baumstruktur entsteht, obwohl alle Zweige im Kern am selben Teil arbeiten und daher letztlich wieder in einen Zweig zusammengeführt werden. Das erlaubt viel Flexibilität (man muss z.B. nicht immer mit einem zentralen Server verbunden sein um Versionen zu sichern), verkompliziert das ganze aber auch (bei SVN wären alle Versionen beim nächsten Commit der jeweiligen Autoren direkt zusammengeführt worden, wenn sie nicht explizit in einem anderen Zweig ausgeführt werden).

Es gibt für Git zumindest eine Reihe Video Tutorials, zumindest habe ich irgendwann mal welche gesehen. Das gilt für andere Software genauso.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Eure PHP-Entwicklungsumgebung

Beitrag von BNa »

Vielen Dank für die Erklärungen, gn#36.
SebastianR
Mitglied
Beiträge: 1
Registriert: 07.12.2012 11:07

Re: Eure PHP-Entwicklungsumgebung

Beitrag von SebastianR »

Also ich benutze gern Dreamweaver, habe damals mit GoLive angefange.
Einen kleinen negativen Punkt muss ich ihm leider geben. Die Syntax-Highlighting ist von GoLive zu Dreamweaver leider nicht besser geworden, sondern etwas schlecht, was die Anfang- und Endklammermarkierung angeht, die wurde nun weggelassen ... nunja
Der Punkt der mir aber bei Dreamweaver persönlich am meisten zusagt, ist das Eingebaute FTP.
Lucrecia2012
Mitglied
Beiträge: 2
Registriert: 14.12.2012 06:58

Re: Eure PHP-Entwicklungsumgebung

Beitrag von Lucrecia2012 »

notepad++ und dreamweaver
Antworten

Zurück zu „Coding & Technik“