tipos tag remove qué practices existen etiquetas crear commits best git repository extraction

tag - Extrae parte de un repositorio git?



qué tipos de etiquetas existen en git (2)

Asuma que mi repositorio de git tiene la siguiente estructura:

/.git /Project /Project/SubProject-0 /Project/SubProject-1 /Project/SubProject-2

y el repositorio tiene bastante commits. Ahora uno de los subproyectos (SubProject-0) crece bastante grande, y quiero sacar SubProject-0 y configurarlo como un proyecto independiente. ¿Es posible extraer todo el historial de compromiso que involucra a SubProject-0 desde el repositorio parent git y moverlo a uno nuevo?


Necesitaba hacer algo similar, pero quería mover esencialmente un subproyecto de un repositorio a otro. Lo que hice en cambio fue usar fetch, ya que puede capturar objetos de cualquier fuente.

Entonces, básicamente, creé una nueva rama, eliminé las cosas innecesarias en esa rama, luego usé git fetch para sacar la rama de un repositorio a otro. Una vez que tuve los objetos, la fusión hizo el truco.

P.ej

En el repositorio que tiene las cosas originales:

git checkout -b temp master git rm -r Unneeded_stuff git commit -m ''pruning''

Luego puede obtener esa rama de un repositorio en uno completamente diferente (no relacionado):

cd /path/to/other/repository git fetch /path/to/source/repo temp:temp

donde temp: temp significa "obtener temperatura en la fuente y guardarla como temperatura aquí". Desde allí, puedes fusionar el resultado en tu maestro.

git merge temp

A continuación, puede eliminar las ramas temporales, ya que en el primer caso no es algo que desee fusionar con el repositorio original, y en el segundo caso lo ha fusionado.

Estoy seguro de que estos pasos se pueden comprimir un poco, pero este conjunto parece agradable y claro.