• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Entwicklungsumgebung synchronisieren

bodo92

Aktives Mitglied
Hallo zusammen,
würde gerne wissen wie ihr eure Entwicklungsumgebungen unter verschiedenen Rechnern synchronisiert.

Bisher hatte ich mein Notebook und meinen Desktop über ein Netzlaufwerk (WD MyCloud) und einer Software (PureSync) bei jedem Hoch- und Runterfahren synchronisiert.

Möchte jetzt aber auch am Notebook von unterwegs aus an meinen Projekten arbeiten, wenn jedoch die letzte Synchronisation schon ein paar Tage aussteht ist das unmöglich.

Nun jetzt habe ich mir mit Google Drive eine Synchronisation eingerichtet:
Mein Verzeichnis unter C:\Users\Name\Entwicklung habe ich über eine Junction (mklink /J) in den Sync-Ordner von Google Drive unter C:\Users\Name\Google Drive verbunden, somit werden jetzt meine Projekte in die Drive gesichert.
Zusätzlich werden die Verzeichnisse noch auf mein Netzlaufwerk gesichert.

Es klappt soweit einwandfrei, ich würde nur gerne wissen welche Möglichkeiten es noch gibt und wie ihr das gelöst habt.
 
Werbung:
Werbung:
Git ist sehr mächtig aber dafür auch ebenso komplex. Ich versuche seit geraumer Zeit das zu benutzen und mache immer noch reichlich Fehler. Die größten Stärken von Git liegen außerdem im Teammanagement, was du als einzelner in der Regel nicht brauchst. Ich würde daher SVN empfehlen. Das ist schon ein bisschen in die Jahre gekommen aber hat alle notwendigen Funktionen die eine Versionsverwaltung braucht und ist deutlich einfacher zu bedienen.
 
Ganz Verstanden hab ich es noch immer nicht!
Bin jetzt schon angetan von den Vorteilen von Git, ich brauch nur ne kleine Hilfestellung.

Ich möchte meine Projekte jetzt auf meinen Webserver (Debian 7 auf dem läuft schon Git) mit meinem Desktop (Git auch installiert) und Notebook verwalten.
Aktuell sind alle Verzeichnisse auf dem gleichen Stand.

Folgende Fragen sind mit unklar:
  1. Kann ich jetzt einfach mein Webspace unter /var/www/domain/ als Projektverzeichnis nutzen?
  2. Würde ein git init /var/www/domain/ reichen um das Repository anzulegen?
  3. Mein Projekt basiert auf Zend Framework 2, machen die Git-Dateien von dort irgendwie Probleme? Wenn ja wie kann ich das lösen?
  4. Gibt es eine Möglichkeit nach einer Änderung an einer Datei diese automatisch zu synchronisieren?
  5. Ist mein Repository dann über git clone git://domain/ abrufbar? Wenn ja wie kann ich den Zugriff nur über Authentifizierung zulassen?

@pax:
Ich habe bisher nicht geplant im Team zu arbeiten, jedoch möchte ich bevor ich jetzt aus Verzweiflung ein SVN nutze sehen ob ich mit Git zurechtkomme.​
 
Ok Kommando zurück ich habe nur die Grundlagen gelesen und aus lauter eifer nicht gesehen das ein Kapitel "Git auf dem Server" existiert.

Ich versuch mal mein Glück..
 
Werbung:
Ich verstehe nicht ganz, wie man SVN git vorziehen kann, aber das ist wohl bis zu einem gewissen Sinne eine Glaubensfrage.

Git ist im Grunde einfach: add - commit - push - pull
Dann noch init und remote add

Viel mehr muss man dann auch nicht kennen um damit zu arbeiten.

Falls noch mehr interesse besteht hier ein paar interessante Links:
http://fabiensanglard.net/git_code_review/index.php
 
SVN ist Asbach.

Du musst Git nicht unbedingt auf dem eigenen Server installieren. Sofern dein Code nicht super sekret ist, kannst du das Repo auch kostenlos in der Cloud bei Github hosten. Lediglich für private Repositories muss man dort bezahlen.

Und weil wir beim Thema Cloud sind: Mit Heroku kannst du eine kostenlose Testumgebung einrichten.
https://www.heroku.com
Probiere das ruhig mal aus. Auch wenn du es für die Feuerwehrseite vielleicht nicht brauchst, lernst du zumindest einen neuen Service kennen.

Zur Verwaltung deiner Git Repos würde ich dir als weiteres Tool SourceTree empfehlen. Das ist komfortabler als die Kommandozeile.
http://www.sourcetreeapp.com
 
So bin jetzt ein Stück weiter gekommen, zuerst mal danke soweit.

Habe jetzt Git auf meinem Server eingerichtet da ich den Code nicht Öffentlich machen will, und ich möchte ja auch meinen V-Root nutzen.
Ich habe ein Repository auf meinem Server unter /var/git/projekt erstellt (der Ort sollte ja keine Rolle spielen) und es dann auf meinen Desktop mit SourceTree (@Tronjer danke ist echt übersichtlich und einfach) geklont, soweit so gut.

Dann habe ich ein Repository feuerwehr auf dem Server angelegt und auf den Desktop geklont, habe das Verzeichnis des Projektes in den Repository Ordner kopiert und einen Commit erstellt. Dann habe ich den Zweig an den Server gepusht.
Habe mit dem Notebook das Repository vom Server geklont um sicherzugehen das es richtig auf dem Server liegt.

Soweit habe ich das Verstanden und es macht ja was es soll.

Folgende Fragen habe ich noch:
  1. Wie kann ich auf dem Server den Webspace und das Repository Verknüpfen wenn man so will, damit ich mir das Hochladen der geänderten Dateien sparen kann wenn ich Änderungen an das Repository pushe.
  2. In der Doku wird am Ende diese Seite (http://git-scm.com/book/de/v1/Git-auf-dem-Server-Einrichten-des-Servers) der Shellzugriff des Benutzers git gesperrt. Wie kann ich jetzt ohne Shellzugriff ein neues Projekt auf dem Server anlegen? Es ist doch notwendig ein Repository erst auf dem Server anzulegen bevor man lokal Dateien einschieben kann oder?
    Gelöst: Mit Putty kann man nicht Verbinden aber über eine Bestehende Shell bzw. su von einem anderen Benutzer über Putty funktioniert es. Musste nur einen Ordner (git-shell-commands) in Home-Verzeichnis von git erstellen um die git-shell nutzen zu können.
EDIT:
Mir ist noch was eingefallen, und zwar vermute ich mal muss das Home-Verzeichnis von Git auf /home/git (bzw. da vo das .ssh Verzeichnis drin liegt) zeigen sollte, da sonst die SSH-Key-Authentifizierung wahrscheinlich nicht mehr funktioniert.
Kann ich dennoch meine Repository URL unter /var/git definieren das ich im Endeffekt via [email protected]/feuerwehr das Repository unter /var/git/feuerwehr anspreche?
Ist zwar nur Spielerei aber sollte sich aus irgendeinem Grund mal das Hauptverzeichnis der Repositorys auf dem Server ändern muss ich auf den Clients nichts ändern..
 
Zuletzt bearbeitet:
Werbung:
Habe zu meinem Problem Nr. 1 zwei scheinbare Lösungen gefunden. Welche würdet Ihr bevorzugen und warum?

Mein Favorit: http://toroid.org/ams/git-website-howto
Ist ein relativ einfacher weg und wurde unter http://stackoverflow.com/questions/5439290/git-based-website-deployment-workflow empfohlen.​

Zweite Lösung: http://developertheory.com/how-to-auto-deploy-apps-after-git-push/
Das war ja in etwa auch der erste Ansatz im oberen Stackoverflow Thread jedoch wurde er dort Mitte 2011 als Veraltet angesehen, Anfang 2013 hier http://stackoverflow.com/questions/14877099/is-bare-option-equal-to-core-bare-config-in-git jedoch wieder empfohlen.​

Fazit ich bin Verunsichert und möchte meine bisher einigermaßen saubere Konfiguration nicht mit planlosem probieren zerschießen.
 
Vllt ein wenig spät... Aber meine Lösungen dafür sind:

1. Ein lokaler xampp srv der auf beiden Rechnern läuft. Dann habe ich dropbox auf beiden Rechnern installiert und das htdocs und das MySQL Verzeichnis dorthin ausgelagert.
So syncht dropbox automatisch und beide Rechner sind immer auf dem aktuellen stand. (Und ich habe immer eine Sicherung der Daten an 3 Punkten).

2. FTP Server auf dem die Seite liegt. Meine Hauptentwicklungsumgebung ist Netbeans. Und bei Netbeans kann ich ein Projekt mit einem FTP Server verknüpfen. Nun lädt Netbeans einmal das komplette Projekt vom Server. Beim speichern einer veränderten Datei speichert Netbeans lokal und schiebt das ganze gleichzeitig auf den FTP Server. Auf dem jeweils anderen Rechner muss ich nun nur noch synchronisieren und damit alle veränderten Daten runterladen. (Auch hier 3 Sicherungen und die Seite auf dem Server bleibt immer aktuell)

Hoffe ich konnte vllt helfen ;)
 
Werbung:
Zurück
Oben