tag remove practices create commits commands best git github bitbucket

remove - Bifurcación de GitHub a Bitbucket



git tags best practices (5)

Estoy trabajando en un proyecto basado en CakePHP , alojado en GitHub . Mi proyecto está alojado en Bitbucket . Ambos usan git . Básicamente, me gustaría crear un ''fork'' (no sé si estoy usando los términos correctos, ya que soy nuevo en git ) de CakePHP en mi repositorio Bitbucket, para poder obtener las actualizaciones sin la necesidad de descargar todo el zip / alquitrán de CakePHP y reemplazar la carpeta, luego confirmar y presionar, pero tal vez con una ''fusión'' (?).

¡Gracias!


Al crear un nuevo repositorio, BitBucket ahora le dará la opción de clonar un directorio desde otro sitio. Es extremadamente simple: ingrese el directorio que desea clonar, asígnele un nombre, configure su configuración de privacidad, ¡y listo!


El siguiente flujo de trabajo agrega el repositorio github como un nuevo control remoto llamado sync y el control remoto bitbucket como origin . También agrega una rama llamada github para rastrear el repositorio github y una rama llamada master para rastrear el repositorio bitbucket. Asume que tienes un repositorio bitbucket llamado "myrepository" que está vacío.

Configurar controles remotos

# setup local repo mkdir myrepository cd myrepository git init # add bitbucket remote as "origin" git remote add origin ssh://[email protected]/aleemb/myrepository.git # add github remote as "sync" git remote add sync https://github.com/aleemb/laravel.git # verify remotes git remote -v # should show fetch/push for "origin" and "sync" remotes

Configurar ramas

# first pull from github using the "sync" remote git pull sync # setup local "github" branch to track "sync" remote''s "master" branch git branch --track github sync/master # switch to the new branch git checkout github # create new master branched out of github branch git checkout -b master # push local "master" branch to "origin" remote (bitbucket) git push -u origin master

Ahora debería tener la sucursal github local github rama maestra del github repo. Y debe tener la rama master local rastreando el repositorio bitbucket (rama master por defecto).

Esto hace que sea fácil tirar de la rama github , luego fusionar esos cambios en la rama master (sin embargo, se prefiere la rebase sobre la fusión) y luego puede empujar la rama master (la empujará a bitbucket).


No es posible enviar "solicitud de extracción" a través de diferentes sitios hoy. He agregado una solicitud de función para esto en el rastreador de problemas Bitbucket: #3288 . Te sugiero que te agregues como seguidor si quieres rastrear esto.

Sin embargo, aún puede mover la fuente de GitHub a Bitbucket sin tener que descargar ningún archivo zip o tarballs. Haces un clon de GitHub y presionas Bitbucket:

$ git clone https://github.com/cakephp/cakephp $ git push [email protected]:mg/cakephp.git master

mg/cakephp como un repositorio de Git vacío en Bitbucket primero. De esa forma puede empujar / jalar conjuntos de cambios de GitHub a Bitbucket.


Si desea mantener actualizado su repositorio, use dos controles remotos: Github ( upstream ) y Bitbucket ( origin ) de esta manera:

# Clone original CakePHP source code from Github git clone https://github.com/cakephp/cakephp cd cakephp # Rename remote from `origin` to `upstream` git remote rename origin upstream # Add your Bitbucket repo (this is where your code will be pushed) git remote add origin https://bitbucket/your/repo.git

Para extraer actualizaciones de CakePHP de Github:

git pull upstream master

Para hacer que su código cambie a Bitbucket:

git push origin master


Supongo que solo quiere descargar fácilmente el repositorio con su proyecto ... y que NO contribuirá con el CakePHP, ¿correcto?

si es así, solo necesita agregar una referencia externa a su repositorio.

SVN: ¿equivalente externo en GIT?

Y luego, incluso si desea contribuir con cakePHP, puede hacerlo en el repositorio original sin problemas.