web-dev-qa-db-fra.com

Modification de fichiers distants via SSH, à l'aide de TextMate?

J'AIME utiliser TextMate sur mon MacBook. C'est bien.

Malheureusement, je souhaite modifier certains fichiers directement sur mon serveur de développement, car il est difficile de recréer l'environnement localement. J'utilise Git, donc une solution consiste à éditer localement, git commit, git Push, puis à fusionner, mais c'est un peu compliqué à chaque fois que je souhaite effectuer un changement simple. 

Je préférerais simplement ... utiliser une autre solution. Une chose que j'ai essayée est de monter un disque dur via MacFusion, puis de le charger dans un éditeur. Mais c’est tellement lent/lent!

Quelqu'un a-t-il concocté une meilleure solution?

50
Zack Burt

OK - voici celui qui fonctionne sur Mountain Lion. 

  1. Allez à http://osxfuse.github.com/
  2. Installer le fusible pour OS X
  3. Installer SSHFS pour OS X
  4. Ensuite, les commandes suivantes sur votre terminal: 

mkdir /Volumes/SSHFS

/usr/local/bin/sshfs username@Host:/path/to/dir /Volumes/SSHFS

Terminé

Je vous recommanderais également d'utiliser le plug-in ReMate, comme l'a souligné un autre utilisateur, afin d'empêcher TextMate de ne pas répéter le jeu à chaque fois que vous le recadrez. Lien: 

ReMate http://ciaranwal.sh/remate

37
Kim Sharma

J'utilise Fetch et TextMate pour de telles tâches. Fetch peut être configuré pour utiliser TextMate en tant qu'éditeur externe et peut même ouvrir automatiquement des fichiers dans TextMate en double-cliquant.

L'enregistrement de la fenêtre dans TextMate renvoie automatiquement le fichier au serveur. Bien entendu, vous devrez valider les modifications sur le serveur ultérieurement.

Je suis certain que la plupart des clients FTP Mac pourraient faire de même.

11
Scott Giese

La meilleure chose serait d'utiliser le script rmate de TextMate, suivez le lien et vous trouverez les instructions ci-dessous, je le recommande, car cela vous facilitera la vie et traitera tous les problèmes de Nitty-Gritty. 

8
Ahmed Jolani

J'utilise la version gratuite de TextWrangler pour cela et cela fonctionne très bien. Je peux charger et sauvegarder des fichiers sur sftp. 

5
Roger Gilbrat

La bonne réponse consiste à utiliser sshfs et à vous assurer que "Effectuer des sauvegardes atomiques" est coché dans la fenêtre des préférences de Textmate. Le moyen le plus simple de configurer sshfs est d’utiliser Macfusion. http://macfusionapp.org/ .

3
ascotan

Je sais que cette question a déjà plusieurs réponses, et cela fait un moment, mais je voulais également souligner DokanSSHFS - Cela utilisera SSH pour créer un lecteur local de l'emplacement du répertoire sur le serveur que vous choisissez. Vous pouvez ensuite utiliser l'éditeur de votre choix pour éditer les fichiers comme s'ils se trouvaient sur un disque local.

1
Nick Jennings

Essayez l'une de ces méthodes.

voir: http://wiki.macromates.com/Main/FAQ#projects

regardez aussi:

http://www.gnu.org/software/tramp/

1
Eddy Pronk

Si, pour une raison quelconque, vous ne pouvez pas répliquer votre environnement localement et souhaitez toujours utiliser TextMate, la combinaison client FTP + TextMate est la meilleure solution à laquelle je puisse penser. MacFusion et toutes les autres solutions similaires sont soignées sur le papier, mais terriblement lentes.

Si vous vous sentez aventureux et suffisamment en confiance pour abandonner l'exigence TextMate, SSH + Vim dans le terminal fonctionne à merveille.

Êtes-vous certain de ne pas pouvoir répliquer votre environnement distant?

1
romainl

Vous n'avez pas besoin de Push à chaque fois que vous effectuez des modifications simples; git est un système de contrôle de version distribué, vous commit dans votre référentiel local pour les petites modifications. Vous ne devriez utiliser que Push dans le référentiel distant une fois que vous avez fini de travailler sur une fonctionnalité/un bogue (ou pour une fonctionnalité vraiment énorme, une sous-fonctionnalité complète). Eh bien, cela suppose que vous puissiez recréer l'environnement; qui apparemment vous ne pouvez pas.

Un bon éditeur de texte peut être intégré à votre système de version de contrôle préféré. Si vous ne pouvez pas configurer votre éditeur pour qu'il valide et envoie depuis votre éditeur, procurez-vous un éditeur correct.

Un éditeur encore meilleur peut être configuré pour enregistrer, valider, éditer, compiler et exécuter votre programme en un seul clic ou en appuyant sur une touche.

1
Lie Ryan

La plupart des solutions proposées sont centrées autour de sshfs sous une forme ou une autre. J'ai essayé ces solutions, mais j'ai constaté que la fiabilité du système de fichiers n'était pas toujours aussi bonne que souhaité.

Il existe un outil appelé rmate , qui permet de modifier des fichiers distants dans text mate.

Utilisez la commande de la session ssh pour éditer le fichier sur le serveur:

rmate file_name

Le readme sur github fournit des instructions faciles à suivre pour l’installer.

1
Sergei G

Si vous utilisez un IDE, vous pouvez simplement configurer un tunnel SSH vers votre serveur dev et éditer vos fichiers dans le confort de votre IDE préféré. Enregistrer les fichiers localement serait automatiquement ensuite pousser les fichiers sur le serveur dev ainsi

P.S: Je n'approuve pas l'utilisation d'IDE

0
Akshay Agarwal

Utilisez Fuse pour OS X http://osxfuse.github.com et le package associé, SSHFS (même URL) et installez-les. J'ai installé les bibliothèques de compatibilité MacFUSE à partir de là aussi, juste pour faire bonne mesure.

Ensuite, installez http://macfusionapp.org et suivez les instructions situées ici ( https://github.com/osxfuse/osxfuse/wiki/SSHFS ) pour configurer macfusion afin d’utiliser les bibliothèques les plus récentes.

Je ne parvenais pas à m'authentifier avec un mot de passe. J'ai donc configuré l'authentification par clé ssh et utilisé macfusion sans mot de passe. Fonctionne comme un charme.

Vous devez avoir besoin de rmate pour éditer des fichiers sur votre serveur via ssh en utilisant TextMate sur votre ordinateur local . lien Github ici

0
giorgio

MacFusion est assez chouette gratuitement - essentiellement ssh-montage de répertoires . http://macfusionapp.org/

Transmit 4 a une fonctionnalité similaire, bien que cela coûte $$.

Essayez http://ciaranwal.sh/remate/ s'il semble lent, car cela empêchera textmate d'actualiser aussi souvent la liste des fichiers.

0
Kevin