tag - tipos de etiquetas en git
Cómo eliminar el origen del repositorio git (1)
Pregunta básica: ¿Cómo puedo disociar un repositorio git del origen desde el cual se clonó?
git branch -a
muestra:
* master
remotes/origin/HEAD -> origin/master
y quiero eliminar todo el conocimiento de origen y las revisiones asociadas.
Pregunta más larga: quiero tomar un repositorio de subversión existente y hacer un número de repositorios git más pequeños a partir de él. Cada uno de los nuevos repositorios de git debe tener el historial completo de solo la rama correspondiente. Puedo recortar el repositorio solo al subárbol deseado usando:
git filter-branch --subdirectory-filter path/to/subtree HEAD
pero el repositorio resultante aún contiene todas las revisiones de los subárboles ahora descartados bajo la rama de origen / maestro.
Me doy cuenta de que podría usar la marca -T para git-svn para clonar el subárbol relevante del repositorio de subversión en primer lugar. No estoy seguro de si eso sería más eficiente que la ejecución posterior de varias instancias de git filter-branch --subdirectory-filter
en copias del repositorio de git pero, en cualquier caso, todavía me gustaría romper el vínculo con el origen.
Bastante sencillo:
git remote rm origin
En cuanto a la pregunta de la filter-branch
del filter-branch
, simplemente agregue --prune-empty
a su comando de la rama del filtro y eliminará cualquier revisión que no contenga ningún cambio en su repositorio resultante:
git filter-branch --prune-empty --subdirectory-filter path/to/subtree HEAD