Estou trabalhando em um projeto baseado no CakePHP , hospedado no GitHub . Meu projeto está sendo hospedado no Bitbucket . Ambos usam git . Basicamente, eu gostaria de criar um 'fork' (não sei se estou usando os termos certos, pois sou novo no git ) do CakePHP no meu repositório Bitbucket, para poder obter as atualizações sem a necessidade de baixar todo o zip / tar do CakePHP e substituir a pasta, depois confirmar e enviar, mas talvez com uma 'mesclagem' (?).
160
Respostas:
Não é possível enviar "solicitação de recebimento" em sites diferentes hoje. Adicionei uma solicitação de recurso para isso no rastreador de problemas do Bitbucket: # 3288 . Sugiro que você se adicione como seguidor, se quiser acompanhar isso.
No entanto, você ainda pode mover a fonte do GitHub para o Bitbucket sem precisar baixar nenhum arquivo zip ou tarballs. Você cria um clone do GitHub e envia para o Bitbucket:
Eu criei
mg/cakephp
como um repositório Git vazio no Bitbucket primeiro. Dessa forma, você pode enviar / alterar conjuntos de alterações do GitHub para o Bitbucket.fonte
cd cakephp
entre os dois comandos. Óbvio para não iniciantes, sim, mas os iniciantes podem se perguntar por que não está funcionando.fork
. Ramos e Tags NÃO são copiados para o BitBucket.O fluxo de trabalho abaixo adiciona o repositório do github como um novo controle remoto chamado
sync
e o bitbucket remoto comoorigin
. Ele também adiciona um ramo chamadogithub
para rastrear o repositório do github e um ramo chamadomaster
para rastrear o repositório de bitbucket. Ele pressupõe que você tenha um repositório de bitbucket chamado "myrepository" que está vazio.Remotos de instalação
Ramos de instalação
Agora você deve ter a
github
filial local rastreando a filial do repositório do githubmaster
. E você deve ter amaster
filial local rastreando o repositório de bitbucket (master
filial por padrão).Isso facilita fazer um puxão na
github
ramificação, depois mesclar essas alterações namaster
ramificação (embora seja preferível rebase antes da mesclagem) e você pode empurrar amaster
ramificação (empurrará para bitbucket).fonte
--set-upstream
está obsoleto ... Mas isso funciona desde que você crie agithub
ramificação antes de tentar definir o repositório upstream.git fetch
egit branch --track github sync/master
git checkout github
egit checkout -b master
após o comando git branch. Você vai acabar com esses ramos (git branch -a
): github, mestre, controles remotos / origin / master, controles remotos / sync / mestreSe você deseja manter seu repo atualizado, use dois controles remotos: Github (
upstream
) e Bitbucket (origin
) como este:Para obter atualizações do CakePHP no Github:
Para enviar suas alterações de código para Bitbucket:
fonte
git
comando, certo? Este é o caminho a percorrer ....git push --all --mirror origin
. Resposta atualizada.fatal: --all and --mirror are incompatible
Além disso:git pull upstream master
gera um erro fatal.fatal: Couldn't find remote ref master
Ao criar um novo repositório no BitBucket, clique no botão
Import repository
no canto superior direito. Insira o URL https encontrado ao clicarClone or download
no Github para o repositório que você deseja bifurcar.Dê um nome ao seu repositório, defina suas configurações de privacidade e pronto!
fonte
Percebi que desde a resposta de @Martin Geisler, o Bitbucket ativou um recurso para importar repositórios do github.com
Eu era capaz de importar com êxito um repo privado de github.com em um repo privado no bitbucket.org
Aqui estão os passos :
Observe o link do repositório de importação no canto superior direito da captura de tela
fonte
Eu acho que você só quer baixar facilmente o repositório com o seu projeto ... e que você NÃO estará contribuindo com o cakePHP, correto?
Nesse caso, você só precisa adicionar uma referência externa ao seu repositório.
SVN: equivalente externo em GIT?
E mais tarde, mesmo se você quiser contribuir com o cakePHP, basta fazê-lo no repositório original.
fonte