J'utilise OS X pour le développement et je veux pousser les changements vers le serveur de développement sur chaque ⌘ + S.
Lorsque je vérifie une autre branche, je souhaite que le dossier local soit mis à jour en conséquence.
J'ai donc pensé que j'avais besoin d'une solution de synchronisation bidirectionnelle automatique .
Mon éditeur de choix est Sublime Text (ce qui est génial, vous devriez absolument le vérifier).
J'ai commencé ma quête avec le plugin Sublime Text SFTP de Will Bond, mais je l'ai trouvé instable et lent.
Ensuite, j'ai attaqué le problème avec Panic Transmit .
C'est incroyablement beau. Cependant, cela ne m'a pas aidé non plus.
Transmit offre deux options:
- synchronisation bidirectionnelle entre le dossier local et distant;
- montez SFTP sur le système de fichiers.
Hélas, sa synchronisation bidirectionnelle est manuelle et doit être invoquée en appuyant sur un bouton.
(Je pourrais probablement contourner cela en écrivant un AppleScript intelligent, mais je ne le sais pas.)
Le montage SFTP est excellent - malheureusement, il présente des inconvénients majeurs: la recherche de fichiers est prévisible et il semble impossible de dire à Transmit que les fichiers ont changé sur le serveur . Vous devez démonter et monter à nouveau pour voir les modifications à distance. Cela rend les branches impossibles à travailler.
Je suis vraiment confus maintenant et je n'ai pas envie de perdre quelques heures sur une mauvaise solution. Je suis ouvert aux suggestions d'un outil pour améliorer mon flux de travail.
Voici ce que j'ai trouvé jusqu'à présent. Je ne suis pas sûr que l'un d'eux puisse réellement regarder les dossiers distants pour les changements.
- écrire du AppleScript pour synchroniser la transmission dans les deux sens toutes les dix secondes;
- utilisation
rsync
et actions de dossier ; - en utilisant
rsync
etFSEvent
; - en utilisant DoubleDown (open source);
- acheter FolderWatch (commercial);
- faire autre chose.
Notez que je recherche une solution prête à l'emploi . Je ne veux pas d'un outil qui ne peut pas gérer les fichiers ou dossiers nouveaux / modifiés / supprimés sans tripoter son code source.
Réponses:
Vieille question, mais voici ma réponse:
J'utilise un outil Unix appelé Unison . Il s'agit d'un outil en ligne de commande qui permet une synchronisation bidirectionnelle.
L'avantage est qu'il est hautement configurable: ignorer certains noms de fichiers, répertoires, synchroniser plusieurs dossiers, quel côté gagne en cas de conflit, bien d'autres choses.
Le mauvais est que vous ne devez pas avoir peur de la ligne de commande et que le serveur et le client doivent avoir installé Unison; les deux installations doivent être de la même version et construites avec la même version d'OCAML.
Mais je l'utilise plusieurs fois par heure chaque jour de travail depuis l'année dernière et c'est génial - c'est vraiment rapide, très facile à lancer depuis la ligne de commande.
la source
Avez-vous envisagé d'utiliser quelque chose comme Git? Hébergement des fichiers sur GitHub ou configuration de votre propre serveur git.
Cela devrait aider: /programming/455698/best-visual-client-for-git-on-mac-os-x
la source
Le AppleScript suivant vous permet de synchroniser un dossier distant avec un dossier local à l'aide de Transmit
https://github.com/lmullen/AppleScript---Transmit---sync-local-directory-to-FTP-directory
Malheureusement, il semble par défaut de synchroniser le dossier distant avec le local, et ce que je veux, c'est le contraire: télécharger les fichiers mis à jour du serveur sur mon ordinateur.
la source
Une très vieille question, mais peut-être que ma propre réponse est utile. J'ai également utilisé SublimeText (je pense que je l'ai encore quelque part) parce que j'aime la façon dont il ouvre les fichiers si rapidement - en particulier sur les anciens Mac. Cependant, pour un travail plus sérieux, un meilleur IDE répondrait certainement mieux à vos besoins.
Puisque vous êtes bien dans l'acquisition de logiciels nouveaux / différents, essayez Coda de Panic. Vous avez déjà aimé Transmit, qui est également un produit de Panic. Coda se situe entre SublimeText et des IDE ultra-sophistiqués comme, par exemple, Eclipse, et il peut faire à peu près ce que vous souhaitez - garder les dossiers synchronisés entre votre ordinateur local et le serveur distant, publier et synchroniser à la demande, et, en outre, garder votre les données locales sont également synchronisées avec GitHub, Google Code ou tout autre système de versioning populaire basé sur Git ou SVN.
Coda a un peu souffert des performances dans le passé (à savoir le rendu du code en couleur lors du défilement rapide), mais les versions actuelles ont été complètement remaniées et sont presque aussi rapides que SublimeText. Il est également basé sur un plugin - le plugin de validation PHP / JavaScript / HTML est un must, car les fonctionnalités de validation de code interne de Coda ne sont pas excellentes en comparaison. Et, ces jours-ci, vous pouvez utiliser les paramètres de votre serveur de transmission sur Coda et vice-versa, ainsi que sur tout appareil iOS que vous pourriez posséder, via leurs applications intelligentes qui synchronisent les paramètres entre eux.
Cela ressemble presque à de la propagande pour Panic ... Je n'aurais pas mentionné Coda si vous n'aviez pas mentionné Transmit!
la source