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 de Bitbucket, para poder obtener las actualizaciones sin la necesidad de descargar todo el zip / tar de CakePHP y reemplazar la carpeta, luego confirmar y presionar, pero tal vez con una 'fusión' (?).
160

Respuestas:
Hoy no es posible enviar "solicitud de extracción" a través de diferentes sitios. He agregado una solicitud de función para esto en el rastreador de problemas de Bitbucket: # 3288 . Le sugiero que se agregue como seguidor si desea realizar un seguimiento de 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 a Bitbucket:
mg/cakephpPrimero creé como un repositorio Git vacío en Bitbucket. De esa manera, puede empujar / extraer conjuntos de cambios de GitHub a Bitbucket.fuente
cd cakephpentre los dos comandos. Obvio para los no principiantes, sí, pero los principiantes pueden preguntarse por qué no está funcionando.fork. Las ramas y etiquetas NO se copian en BitBucket.El siguiente flujo de trabajo agrega el repositorio de github como un nuevo control remoto llamado
syncy el control remoto bitbucket comoorigin. También agrega una rama llamadagithubpara rastrear el repositorio de github y una rama llamadamasterpara rastrear el repositorio de bitbucket. Se supone que tiene un repositorio de bitbucket llamado "myrepository" que está vacío.Configurar controles remotos
Configurar ramas
Ahora debe hacer que la
githubsucursal local rastree lamastersucursal del repositorio de github . Y debe hacer que lamastersucursal local rastree el repositorio de bitbucket (mastersucursal por defecto).Esto hace que sea más fácil tirar de la
githubrama, luego fusionar esos cambios en lamasterrama (sin embargo, se prefiere rebase sobre la combinación) y luego puede empujar lamasterrama (la empujará a bitbucket).fuente
--set-upstreamestá en desuso ... Pero esto funciona siempre que cree lagithubrama antes de intentar establecer el repositorio ascendente.git fetchygit branch --track github sync/mastergit checkout githubygit checkout -b masterdespués del comando git branch. Terminarás con esas ramas (git branch -a): github, master, remotes / origin / master, remotes / sync / masterSi desea mantener actualizado su repositorio, use dos controles remotos: Github (
upstream) y Bitbucket (origin) de esta manera:Para obtener actualizaciones de CakePHP desde Github:
Para enviar los cambios de código a Bitbucket:
fuente
gitcomando, ¿verdad? Este es el camino a seguir ...git push --all --mirror origin. Respuesta actualizadafatal: --all and --mirror are incompatibleAdemás:git pull upstream masterarroja un error fatal.fatal: Couldn't find remote ref masterAl crear un nuevo repositorio en BitBucket, haga clic en el botón
Import repositoryen la esquina superior derecha. Ingrese la URL https que se encuentra al hacer clicClone or downloaden Github para el repositorio que desea bifurcar.Dale un nombre a tu repositorio, configura tu configuración de privacidad y ¡listo!
fuente
He notado que desde la respuesta de @Martin Geisler, Bitbucket ha habilitado una función para importar repositorios desde github.com
Pude importar con éxito un repositorio privado de github.com a un repositorio privado en bitbucket.org
Aquí están los pasos :
Tenga en cuenta el enlace del repositorio de importación en la esquina superior derecha de la captura de pantalla
fuente
Supongo que solo quieres descargar fácilmente el repositorio con tu proyecto ... y que NO contribuirás con cakePHP, ¿correcto?
si es así, solo necesita agregar una referencia externa a su repositorio.
SVN: equivalentes externos en GIT?
Y más tarde, incluso si desea contribuir a cakePHP, puede hacerlo en el repositorio original muy bien.
fuente