讓我們市民的github倉庫(A)https://github.com/schacon/example叉公共倉庫到私人和接受公共提交
我想這叉庫來到位桶私人回購(B)。
我希望收到庫公共提交到庫B.
這可能嗎?
讓我們市民的github倉庫(A)https://github.com/schacon/example叉公共倉庫到私人和接受公共提交
我想這叉庫來到位桶私人回購(B)。
我希望收到庫公共提交到庫B.
這可能嗎?
B
的新私人存儲庫。在本地克隆B
。轉到存儲庫B
。使用GitHub存儲庫(repo A)的URL添加一個新的遠程(比如repoA)。
$ git remote add repoA <A-repo-url>
$ git remote -v # see the remotes
拉庫的提交/變爲庫B.
$ git pull repoA master # B's master = A's origin/master
按下更改庫B(到位桶)。
$ 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在這裏。
有幾個方法可以做到這一點:
對於鏡像副本(例如所有的分支),其在這裏的github文檔覆蓋相當清楚:https://help.github.com/articles/duplicating-a-repository/。但是,請注意,這些方法嚴格用於鏡像回購,即他們創造了不適合做本地開發工作的本地回收。
簡而言之:
A.對於一次性鏡像副本:
$ 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.對於正在進行的鏡像副本:
設置 - 首先創建目標到位桶回購,然後本地
$ 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
感謝您快速回答!來自github的原始庫(A)包含兩個分支'master'和'next','next'是我最需要的分支。現在我做了你提到的所有事情,但是我沒有在我的存儲庫中看到該分支。 – ememem
以及我應該如何接收從存儲庫(A)到存儲庫(B)的新提交,以便它將保持同步?謝謝! – ememem
'git fetch repoA --all'中的'--all'不會獲取所有分支。 '--all'將從所有配置的遠程回購站獲取。 '--all'和一個repo參數將會出錯。遠程通常默認配置爲獲取所有分支,所以只需'git fetch repoA'即可獲得所有分支。 –