¿Clonando una twig de GIT a otra twig GIT de repositorys?

Tengo dos repositorys GIT, uno para el trabajo y otro para el desarrollo independiente. Mi compañía expresó interés en un proyecto en el que he estado trabajando y me gustaría que migrara esa sucursal (principal) a una nueva sucursal en su repository (Features / Dynamo). Creé un migrador en el pasado, pero esto anula el hecho de que el repo sea enviado a él, ya que se trata de un heraldo directo, luego, falso. ¿Qué necesitaría hacer para injertar una twig de un repository a otro (mientras creaba la nueva twig en el process)?

Otro enfoque es agregar el otro control remoto.

git remote add ehime https://github.com/your_username/your_repo_name.git 

Ahora todas las cosas que has hecho como

 git push origin some_branch 

también se puede hacer como

 git push ehime some_branch 

para el otro control remoto

Por lo tanto, dos controles remotos pero un directory de código.

En el caso de los files compartidos, hay muchas opciones al hacer una combinación como

 git checkout branchA git merge ours branchB 

o

 git checkout branchA git merge -X theirs branchB 

para controlar cómo se realizan las fusiones entre las dos bases de código.

Un enfoque simple sería get un clon de los dos repos en una máquina, luego en el process de git checkout -b new_branch repository "to" git checkout -b new_branch y luego git checkout -b new_branch literalmente los files desde el directory de otros proyectos. git add y git commit y listo. Como pregunté arriba, si esto funcionaría dependerá de si tienes los mismos dir / nombres de file. Si lo hace, se le presentarán conflictos de combinación y los dos files diferentes se suavizarán juntos de una manera bastante mala.

En teoría, esto es lo que podrías hacer, pero creo que sería mejor tener dos repositorys diferentes. NOTA: Esto no traerá todo su historial de git, simplemente agregará el estado más reciente de su proyecto como una sucursal.

 $ git checkout -b OtherProject -- to prevent losing your git database $ mv .git/ /temp/gitBackup -- clear out all the stuff from the main repository $ rm -rf * -- copy contents of the tip of master from your other project -- but not the .git/ folder $ cp -r /path/to/personal/project/* . $ rm -rf .git/ -- bring back your old .git folder $ mv /temp/gitBackup ./.git -- add all your new files to this branch $ git add -A . $ git commit -am "The other project is now in this repo as a branch" 

Nuevamente, este no es un curso de acción recomendado. Su database git crecerá mucho más grande y este no es el uso previsto para las sucursales. Recomiendo encarecidamente el uso de un repository por proyecto y tal vez el uso de submodules para gestionar subproyectos desde su repository de git.

    Intereting Posts