让我们拥有公共github存储库(A)https://github.com/schacon/example
我想将此存储库作为私有仓库(B)分叉到bitbucket。
我想接收从存储库A到存储库B的公共提交。
有可能吗?
答案 0 :(得分:2)
B
的BitBucket中创建一个新的私有存储库。在本地克隆B
。转到存储库B
。使用GitHub存储库(repo A)的URL添加一个新的远程(例如,repoA)。
$ git remote add repoA <A-repo-url>
$ git remote -v # see the remotes
将A存储库的提交/更改提取到存储库B中。
$ git pull repoA master # B's master = A's origin/master
将更改推送到存储库B(BitBucket)。
$ git push origin HEAD # B's origin/master = A's origin/master
获取存储库A的所有分支。
$ git fetch repoA
创建一个包含A分支历史的新分支(例如,next
)
$ git checkout -b next repoA/next # create a local 'next' branch = repoA/next
将本地next
分支更改推送到存储库B的next
分支。
$ git push origin next
将来,请与存储库A保持同步。
$ git fetch repoA
现在将A的分支拉入B的分支,或者只是签出一个新的分支,如上例所示。然后推送到B的存储库。
注意 repoA
是您的存储库A的URL,origin
是存储库B的URL。
答案 1 :(得分:0)
有几种方法可以做到这一点:
对于镜像副本(例如所有分支),它在github文档中非常清楚地涵盖了https://help.github.com/articles/duplicating-a-repository/。但请注意,这些方法严格用于镜像回购,即它们创建了不适合进行本地开发工作的裸本地回购。
简而言之:
一个。对于一次性镜像副本:
$ git clone --bare https://github.com/exampleuser/A.git
$ cd A.git
$ git push --mirror https://github.com/exampleuser/B.git
$ cd ..
$ \rm -rf A.git
B中。对于正在进行的镜像副本:
设置 - 首先创建目标Bitbucket repo,然后本地
$ git clone --mirror https://github.com/exampleuser/A.git
$ cd A.git
$ git remote set-url --push origin https://bitbucket.com/exampleuser/B.git
然后根据需要从A拉出更改并将其推送到B
$ cd A.git
$ git fetch -p origin
$ git push --mirror