tutorial - Usar GIT para implementar la funcionalidad de tipo Dropbox
relacion entre git y github (3)
No necesitas implementar eso tú mismo. Ya se ha hecho: http://sparkleshare.org/
Me gustaría implementar un mecanismo para sincronizar archivos en varias máquinas. No me preocupan especialmente los archivos que tienen más de 1 mes, por lo que no es necesario mantener esos datos.
Git parece hacer casi todo esto, excepto para eliminar las revisiones anteriores. ¿Hay algún comando destructivo que me permita decir "¿Matar todas las revisiones anteriores a X"? O si hay otra herramienta de VCS que pueda usar para lograr lo mismo, estaría muy interesado.
También vea "asistente de git-annex" y "sharebox" .
Cuando se trata de sincronización, el git bundle
es interesante porque:
- solo crea un archivo (fácil de copiar), que es como un repositorio git (puede clonar / extraer de un paquete)
- puede crear un paquete incremental (el primero es un paquete completo, que puede usar incrementales, para seleccionar solo los últimos commits, en lugar del historial completo)
Sin embargo, el repositorio del otro lado recibiría todas las confirmaciones, a través de las tiradas de los paquetes sucesivos.
Con respecto a los paquetes incrementales, la página man del git bundle
:
<git-rev-list-args>
Una lista de argumentos, aceptable para
git rev-parse
ygit rev-list
(y que contiene una referencia nombrada, consulte ESPECIFICAR REFERENCIAS a continuación), que especifica los objetos específicos y las referencias para el transporte.
Por ejemplo,master~10..master
hace que la referencia maestra actual sea empaquetada junto con todos los objetos agregados desde que se haya confirmado su 10 ° ancestro.
Mientras que una lista de --since=30.days.ago master
como --since=30.days.ago master
sería posible, es mejor asegurarse de que el paquete incremental sea compilado teniendo en cuenta el último compromiso utilizado por el último paquete (especialmente si ese último compromiso es anterior de 30 días. Si es más nuevo, entonces no importa si toma "demasiados" commits).