2010-02-01 12 views
7

Estoy desarrollando un proyecto en mi computadora personal (una Macbook). Estoy usando git para versionarlo.Git: mantener un proyecto sincronizado por correo

Tengo otra computadora (la que uso en el trabajo) en la que me gustaría desarrollar el mismo proyecto durante el día. Tengo una cuenta gratuita en github, así que podría usarla para que el trabajo siga sincronizando el desarrollo del hogar y el trabajo, pero el proyecto no es "público".

Entonces, ¿hay alguna forma de trabajar con git usando el correo electrónico como herramienta de sincronización?

Gracias

Respuesta

7

También debe consultar git-bundle. De la ayuda:

Algunos flujos de trabajo requieren que una o más ramas de desarrollo en una máquina se repliquen en otra máquina, pero las dos máquinas no se pueden conectar directamente, y por lo tanto los protocolos de git interactivos (git, ssh, rsync, http) no se puede usar. Este comando proporciona soporte para `git fetch` y` git pull` para operar empaquetando objetos y referencias en un archivo en la máquina de origen, luego importándolos en otro repositorio usando `git fetch` y` git pull` después de mover el archivo por algunos medios (por ejemplo, por sneakernet). Como no existe una conexión directa entre los repositorios, el usuario debe especificar una base para el paquete que está en el depósito de destino: el paquete asume que todos los objetos en la base ya están en el repositorio de destino.

Los lotes son archivos binarios, pero generalmente son pequeños ya que no es necesario que incluya todo el repositorio y están comprimidos.

Git Magic tiene algunos ejemplos de uso también.

2

Git tiene algunas herramientas muy poderosas para hacer automáticamente conjuntos de parches y luego enviarlos incluso para usted. O puede formatearlos manualmente después. Pasaría algún tiempo leyendo la documentación en el sitio web de Git para obtener algunos ejemplos e información.

6

Eche un vistazo a git-send-email y git-format-patch.

EDITAR: El answer de Pat es mejor ya que conserva los ID de confirmación.

+2

Solo para futura referencia, git-am es la herramienta que se usa para aplicar los parches después de recibirlos en el extremo receptor. – davr

2

¿Ha considerado usar algo que no sea el correo electrónico para sincronizar el proyecto? Si se le permite instalarlo en el trabajo, usted podría utilizar Dropbox sincronizar proyectos git entre ordenadores:

cd ~/Dropbox/git/ 
git init --bare my_project.git 
cd ~/my_project/ 
git remote add dropbox ~/Dropbox/git/my_project.git 
git push --mirror dropbox 

Dado que el contenido de ~/Dropbox se sincronizan automáticamente entre los equipos, puede simplemente tirar/empujar desde/hasta el Depósito de Dropbox en ambas máquinas, que en mi humilde opinión es mucho más simple que el uso del correo electrónico.

3

Probablemente podría utilizar una pequeña llave USB portátil para contener un repositorio principal para el proyecto. Luego puede actualizar y sincronizar tanto en casa como en el trabajo. Esto es más fácil que tratar de administrar usando el correo electrónico, en mi opinión.

Cuestiones relacionadas