GNU/Linux >> Tutoriales Linux >  >> Linux

git:mantenga el registro de cambios para el archivo cuando se mueva a un repositorio diferente

Suponga que desea transferir el historial de filename.conf de un repositorio fuente a otro repositorio receptor. Creo que la estrategia que quieres seguir es:

  1. En el repositorio fuente, cree una rama de confirmaciones que se reescriban para contener solo filename.conf .
  2. Fusionar la línea independiente de confirmaciones en una rama normal en el repositorio receptor.

¡Definitivamente haga copias de seguridad de sus repositorios antes de hacer esto!

En el repositorio fuente, usa filter-branch para reconstruir el historial eliminando todo excepto filename.conf .

git checkout -b filtered-commits
git filter-branch -f --prune-empty --tree-filter 'find . -not -name filename.conf -exec rm {} \;' filtered-commits

Luego, en el repositorio receptor:

git pull path/to/source/repo

Si también necesita mover la ruta que filename.conf está dentro del repositorio, probablemente necesitará usar el --subdirectory-filter opción en git filter-branch .


Linux
  1. Cómo mantener intactos los permisos de propiedad y archivo al copiar archivos o directorios

  2. ¿Codificación de un archivo zip?

  3. ¿Es posible usar / en un nombre de archivo?

  4. Mover un archivo en Linux en C

  5. Eliminar el repositorio de Git, pero conservar todos los archivos

Cómo eliminar el repositorio remoto de Git

¿Script de Shell para mover archivos más antiguos?

¿Cuándo se creó el archivo?

Cómo:una introducción al uso de Git

¿Es una buena idea usar git para controlar la versión del archivo de configuración?

Mantenga un historial de todas las modificaciones a un archivo de texto