gitflow - push eclipse
Espacios de trabajo/perspectivas/preferencias de sincronización Eclipse en computadoras (9)
Tengo un proyecto en el que necesito trabajar desde dos computadoras diferentes, en el trabajo y en casa. Necesito poder trabajar en el código de ambas computadoras, por lo que el problema es doble;
- Compartir el código
- Compartiendo el espacio de trabajo.
1 es lo suficientemente simple con svn; pero me siento asqueroso al escribir el código roto en svn solo para poder acceder a eso nuevamente desde mi casa. Puedo vivir con esto, pero ¿hay una mejor opción?
Para obtener más información sobre 2. Tengo una configuración de eclipse altamente personalizada en una de las computadoras donde pasé horas añadiendo complementos y modificando todas las opciones de configuración a las que podía acceder para llegar al punto correcto. Sería un dolor volver a hacer cada cambio en la otra computadora, ¿hay alguna manera de sincronizar eso automáticamente? Sé que puedo exportar las preferencias de Eclipse e importarlas, pero no quiero tener que hacerlo manualmente cada vez que cambio algo. [Además, ¿no creo que exportar preferencias también exporta perspectivas?]
Ambas computadoras ejecutan Windows.
Acabo de probar el complemento de mecánica del espacio de trabajo recientemente anunciado . Parece estar hecho exactamente para la segunda parte de la pregunta.
Necesitará proporcionar un directorio donde se almacenarán las preferencias (por defecto ~/.eclipse/mechanic
). Con el complemento instalado, las preferencias se pueden exportar fácilmente a archivos separados. Si inicia un nuevo espacio de trabajo y apunta el complemento al directorio correcto (o deja el valor predeterminado), se muestra un diálogo que le permite elegir qué configuraciones aplicar al espacio de trabajo actual.
Eclipse y la mayoría de las demás herramientas de Java son fácilmente portátiles.
Puede copiarlos en una memoria USB y ejecutarlos en cualquier máquina. Para el JDK necesita tener un sistema operativo similar.
Tengo una carpeta "C: / Desarrollo" con eclipse, java, jboss, workspace, ant, maven, svn, etc. que puedo descomprimir y colocar en C: en cualquier máquina de Windows y ejecutar mi entorno.
No lo ejecuto desde la memoria USB porque nunca se sabe qué letra recibirá la unidad y algunas de las referencias que el eclipse guarda están totalmente calificadas.
En lo que respecta al problema # 1, uso Dropbox y he estado muy contento con él.
Me di cuenta de un problema al abrir un proyecto después de haberlo actualizado en otra máquina: Eclipse detecta cambios en los archivos existentes pero no agrega automáticamente nuevos archivos. Esto se resuelve simplemente haciendo clic derecho en el proyecto y seleccionando ''Actualizar''.
O simplemente Escritorio remoto en su computadora preferida de la otra.
Para seguir con esto, he estado usando Pulse con cierto éxito poweredbypulse.com . No es la solución ideal, pero hasta ahora ha funcionado bastante bien.
Puede considerar usar poweredbypulse.com . Es gratis y es ideal para generar una instalación estándar de Eclipse que incluya todos tus complementos y configuración de espacio de trabajo (si usas la versión independiente, no gratuita). Es bueno poder generar una configuración de Eclipse en funcionamiento y luego repetir esa misma instalación de perfil en otra computadora O compartir ese perfil con todo un equipo.
Regarging # 1, he pensado en esto también. El TFS de Microsoft tiene una función de "archivado" que hace lo que usted desea (almacenar cambios pendientes en el servidor sin comprometerse). Es como una rama personal.
En la subversión, probablemente crearía una rama para mi código de borde sangrado, tal vez roto, y simplemente me uniría al tronco periódicamente.
Utilizo rsync para hacer algo similar entre mi computadora portátil (OSX) y escritorio (linux).
Una búsqueda rápida en Google menciona que rsync está disponible para Windows, por lo que puede ser una opción para usted.
Probablemente pueda configurarlo para que el sistema operativo lo configure según un cronograma. Personalmente lo tengo configurado para cuando accedo a la red de mi oficina o cuando cambian los archivos.
Entorno de desarrollo portátil
No es que desee ejecutar desde una unidad flash USB, pero puede agrupar Eclipse y JDK en un solo directorio, como se describe aquí, para tener un entorno de desarrollo muy bien integrado:
También puede agregar algunas herramientas más si es necesario:
- Cómo hacer: Desarrollo web portátil gratuito en una unidad USB
- : herramientas de desarrollo para una unidad USB
- ServerFault: herramientas que caben en una unidad USB
Consulte PortableApps para obtener herramientas adicionales, incluida una que colocará un menú en la bandeja del sistema que le brindará acceso rápido a todas sus herramientas portátiles.
Una vez que tenga esa configuración, use una de las siguientes opciones para compartir el directorio entre las estaciones de trabajo:
Disco duro externo
Una unidad flash sería demasiado lenta, pero a menudo una unidad de disco duro externa está bien. Por supuesto, tienes que cargarlo. Y no es divertido cuando te olvidas de llevarlo a trabajar un día, como lo hice ayer con mi computadora portátil. :-) Los cambios en la letra de la unidad pueden ser otro problema.
Herramientas de duplicación
Una herramienta de copia de seguridad / copia de seguridad es simple pero propensa a errores. Estas son herramientas de una vía, ya que copian todo de una estación de trabajo a otra. El riesgo es que realice cambios en una estación de trabajo, olvide ejecutar la herramienta, luego cambie los mismos archivos en la otra estación de trabajo y ejecute la herramienta, sobrescribiendo los cambios.
- rsync
- DeltaCopy
Herramientas de sincronización
Un paso adelante de una herramienta de duplicación sería una herramienta de sincronización. Estos detectan cambios y le permiten tomar decisiones sobre la fusión. Debe recordar ejecutarlo manualmente o utilizar otra herramienta para programar su ejecución en determinados momentos.
Servicios de sincronización
Estos son servicios que sincronizan automáticamente archivos entre estaciones de trabajo. La mayoría, si no todos, manejan conflictos y permiten el acceso a versiones anteriores de archivos. Son agradables porque están listos y olvidados. No tiene que recordar ejecutar una herramienta espejo o sincronización. Además, estos eliminan la necesidad de dejar encendida una estación de trabajo para que pueda sincronizarla manualmente cuando llegue a la otra estación de trabajo.
- Dropbox (Una peculiaridad aquí para los usuarios de Instant Rails es que el espacio en el nombre de la carpeta "Mi Dropbox" es un tope de la demostración).
- SpiderOak
- Syncplicity
- Windows Live Sync