Answers:
今天不可能在不同站点之间发送“拉取请求”。我在Bitbucket问题跟踪器中为此添加了功能请求:#3288。如果您要跟踪此信息,建议您将自己添加为关注者。
但是,您仍然可以将源代码从GitHub移至Bitbucket,而无需下载任何zip文件或tarball。您从GitHub克隆并推送到Bitbucket:
$ git clone https://github.com/cakephp/cakephp
$ cd cakephp
$ git push git@bitbucket.org:mg/cakephp.git master
我mg/cakephp
首先在Bitbucket中创建了一个空的Git存储库。这样,您可以将更改集从GitHub推/拉到Bitbucket。
cd cakephp
在两个命令之间插入一个。对于非初学者来说是显而易见的,是的,但是初学者可能想知道为什么它不起作用。
fork
。分支和标签不会复制到BitBucket。
下面的工作流将github存储库添加为名为新的远程sync
,将bitbucket远程添加为origin
。它还添加了一个称为github
github仓库的分支和一个master
追踪bitbucket仓库的分支。假定您有一个名为“ myrepository”的位桶存储库,该存储库为空。
# setup local repo
mkdir myrepository
cd myrepository
git init
# add bitbucket remote as "origin"
git remote add origin ssh://git@bitbucket.org/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
# 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
现在,您应该让本地github
分支跟踪github repo的master
分支。而且,您应该让本地master
分支跟踪bitbucket存储库(master
默认情况下为分支)。
这样就很容易在github
分支上进行拉取,然后将那些更改合并到master
分支上(尽管相对于合并,首选重设基准),然后可以推送master
分支(将其推送到bitbucket)。
--set-upstream
中已弃用...但是只要您github
在尝试设置上游存储库之前创建分支,此方法就可以工作。
git fetch
和git branch --track github sync/master
git checkout github
与git checkout -b master
git的分支命令后。您将以那些分支(git branch -a
)结尾:github,master,remotes / origin / master,remotes / sync / master
如果您想使仓库保持最新状态,请使用两个遥控器:Github(upstream
)和Bitbucket(origin
),如下所示:
# Clone original CakePHP source code from Github
git clone --mirror 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
# Push everything to Bitbucket
git push --mirror origin
要从Github中提取对CakePHP的更新:
git pull upstream master
要将代码更改推送到Bitbucket:
git push origin master
git
,对吧?这就是要走的路
git push --all --mirror origin
。答案已更新。
fatal: --all and --mirror are incompatible
另外:git pull upstream master
引发致命错误。fatal: Couldn't find remote ref master
在BitBucket中创建新存储库时,请单击右上角的按钮Import repository
。输入点击时找到的https网址Clone or download
在Github中要分叉的存储库。
为您的存储库命名,配置隐私设置,然后就可以了!
我已经注意到,自@Martin Geisler回答以来,Bitbucket已启用一项功能,可从github.com导入存储库。
一世 能够成功地将github.com上的私有存储库导入到bitbucket.org上的私有存储库中
下面是步骤:
我猜您只是想随项目轻松下载存储库...而您将不会贡献出CakePHP,对吗?
如果是这样,您只需要向您的仓库添加一个外部引用。
然后,即使您想为cakePHP做出贡献,也可以在原始存储库中这样做就可以了。