Ich verwende OS X für die Entwicklung und möchte Änderungen auf jedem ⌘ + S auf den Dev-Server übertragen.
Wenn ich einen anderen Zweig auschecke, soll der lokale Ordner entsprechend aktualisiert werden.
Also dachte ich mir, ich brauche eine automatische Zwei-Wege-Synchronisierungslösung .
Mein bevorzugter Editor ist Sublime Text (was großartig ist, Sie sollten es sich unbedingt ansehen).
Ich begann meine Suche mit dem Sublime Text SFTP-Plugin von Will Bond , fand es aber instabil und langsam.
Dann habe ich das Problem mit Panic Transmit angegriffen .
Es ist atemberaubend schön. Es hat mir aber auch nicht geholfen.
Senden bietet zwei Möglichkeiten:
- bidirektionale Synchronisierung zwischen lokalem und entferntem Ordner;
- Hängen Sie SFTP in das Dateisystem ein.
Leider erfolgt die bidirektionale Synchronisierung manuell und muss per Knopfdruck aufgerufen werden.
(Ich könnte das wahrscheinlich umgehen, indem ich ein cleveres AppleScript schreibe - aber ich weiß es nicht.)
Die SFTP-Bereitstellung ist großartig - leider hat sie große Nachteile: Die Dateisuche ist vorhersehbar langsam und es scheint keine Möglichkeit zu geben, Transmit mitzuteilen, dass sich Dateien auf dem Server geändert haben . Sie müssen die Bereitstellung aufheben und erneut bereitstellen, um die Remote-Änderungen zu sehen. Dies macht es unmöglich, mit Zweigen zu arbeiten.
Ich bin jetzt wirklich verwirrt und habe keine Lust, ein paar Stunden mit einer falschen Lösung zu verschwenden. Ich bin offen für Vorschläge für ein Tool zur Verbesserung meines Workflows.
Folgendes habe ich bisher gefunden. Ich bin nicht sicher, ob einer von diesen tatsächlich den Remote-Ordner auf Änderungen überwachen kann.
- Schreiben von AppleScript zur Synchronisierung Senden Sie alle zehn Sekunden in beide Richtungen.
- Verwenden
rsync
und Ordneraktionen ; - mit
rsync
undFSEvent
; - mit DoubleDown (Open Source);
- Kauf von FolderWatch (kommerziell);
- etwas anderes tun.
Beachten Sie, dass ich nach einer Lösung suche, die sofort funktioniert . Ich möchte kein Tool, das neue / geänderte / gelöschte Dateien oder Ordner nicht verarbeiten kann, ohne mit dem Quellcode herumzuspielen.
Antworten:
Alte Frage, aber hier ist meine Antwort:
Ich benutze ein Unix-Tool namens Unison . Dies ist ein Befehlszeilenprogramm, das eine bidirektionale Synchronisierung ermöglicht.
Das Gute ist, dass es hochgradig konfigurierbar ist: Ignorieren Sie bestimmte Dateinamen, Verzeichnisse, synchronisieren Sie mehrere Ordner, welche Seite in einem Konflikt gewinnt, viele andere Dinge.
Das Schlimme ist, dass Sie keine Angst vor der Befehlszeile haben müssen und sowohl auf dem Server als auch auf dem Client Unison installiert sein muss. Beide Installationen müssen dieselbe Version haben und mit derselben Version von OCAML erstellt werden.
Aber ich habe es im letzten Jahr mehrmals pro Stunde an jedem Arbeitstag benutzt und es war großartig - es ist sehr schnell und sehr einfach, von der Kommandozeile aus zu feuern.
quelle
Haben Sie darüber nachgedacht, etwas wie Git zu verwenden? Hosten Sie die Dateien auf GitHub oder richten Sie Ihren eigenen Git-Server ein.
Dies sollte helfen: /programming/455698/best-visual-client-for-git-on-mac-os-x
quelle
Mit dem folgenden AppleScript können Sie einen Remote-Ordner mit Transmit mit einem lokalen Ordner synchronisieren
https://github.com/lmullen/AppleScript---Transmit---sync-local-directory-to-FTP-directory
Leider scheint es standardmäßig so zu sein, dass der Remote-Ordner mit dem lokalen Ordner synchronisiert wird, und ich möchte das Gegenteil: aktualisierte Dateien vom Server auf meinen Computer herunterladen.
quelle
Eine sehr alte Frage, aber vielleicht hilft meine eigene Antwort. Ich habe auch SublimeText verwendet (ich glaube, ich habe es noch irgendwo), weil mir die Art und Weise gefällt, wie Dateien so schnell geöffnet werden - besonders auf älteren Macs. Für ernstere Arbeiten würde eine bessere IDE jedoch definitiv besser zu Ihren Anforderungen passen.
Probieren Sie Panic's Coda aus, da Sie neue / andere Software erwerben können. Transmit, ein Produkt von Panic, hat Ihnen bereits gefallen. Coda befindet sich zwischen SublimeText und hochentwickelten IDEs wie beispielsweise Eclipse und kann so ziemlich alles tun, was Sie möchten - Ordner zwischen Ihrem lokalen Computer und dem Remote-Server synchronisieren, bei Bedarf veröffentlichen und synchronisieren und zusätzlich Ihre Lokale Daten auch synchron mit GitHub, Google Code oder einem anderen gängigen Versionssystem, das entweder auf Git oder SVN basiert.
Coda hat in der Vergangenheit ein wenig unter der Leistung gelitten (nämlich beim Rendern von Code in Farbe beim schnellen Scrollen), aber die aktuellen Versionen wurden komplett überarbeitet und sind fast so schnell wie SublimeText. Es ist auch Plugin-basiert - das PHP / JavaScript / HTML-Validierungs-Plugin ist ein Muss, da die internen Code-Validierungsfunktionen von Coda im Vergleich nicht herausragend sind. Und heutzutage können Sie Ihre Transmit-Servereinstellungen auf Coda und umgekehrt sowie auf jedem iOS-Gerät, das Sie möglicherweise besitzen, über deren clevere Apps verwenden, die die Einstellungen untereinander synchronisieren.
Das klingt fast wie Propaganda für Panik ... Ich hätte Coda nicht erwähnt, wenn Sie Transmit nicht erwähnt hätten!
quelle