我有一個回購GitHub上稱爲foo
具有如下分支:克隆一個分支命名不同分支的git
- 主
- GH-頁面
我有第二個回購在GitHub上調用<username>.github.com
(用戶回購),並提供以下分支:
- master
- 源
我想在<username>.github.com->source
使用代碼foo->master
並能夠從foo->master
發生變化時,他們合併。
實現此目的的最佳方法是什麼?
我有一個回購GitHub上稱爲foo
具有如下分支:克隆一個分支命名不同分支的git
我有第二個回購在GitHub上調用<username>.github.com
(用戶回購),並提供以下分支:
我想在<username>.github.com->source
使用代碼foo->master
並能夠從foo->master
發生變化時,他們合併。
實現此目的的最佳方法是什麼?
您可以再補充foo/master
作爲遠程合併它不時地(在<username>.github.com
回購做到這一點):
# add foo as remote (once)
git remote add foo https://github.com/<username>/foo.git
# fetch from remote (often)
git fetch foo
# merge changes to source (when you want)
git checkout source
git merge foo/master
可以設置origin/source
作爲遠程用於source
和origin/master
作爲遠程主站的正常。
您還可以使用git fetch --all
更新所有遙控器,包括origin
和foo
。
如果您在source
中變化不大,那麼合併幾乎總是快進。
您可能需要爲只讀的foo設置遠程URL。 這種方式你不能從<username>.github.com
意外推送,如果它是公共回購,你不會需要身份驗證(或ssh密碼密碼)的提取。
您可以從獲取的gh-pages
分支保持混帳與
git config remote.foo.fetch "+/refs/heads/master:/refs/remotes/foo/master"
git branch -rD foo/gh-pages
你一定要記住設置,當你想到不到master
任何其他分支從foo
遠程呈現。
操作的Refspec的一個很好的解釋是在git book
從技術上講,你也可以做'''git config --add remote.foo.fetch「+ refs/heads/master:refs/heads/source」'''。這樣'git fetch foo''就足以更新'''source''。這**將導致問題,當這不會是一個快速前進!僅限完整重複。 – JonnyJD
也許下面將幫助(我不是100%肯定這雖然中):
# Add a remote foo
git remote add foo <foor-url>
# create a foo-master branch
git checkout -b foo-master
# Set upstream branch for foo-master
git branch --set-upstream foo-master foo/master
# fetch code from foo master
git fetch foo master
# reset the current branch to foo master
git reset --hard foo/master
# merge in source
git checkout source
git merge foo-master
要更新富主:
git checkout foo-master
git pull
什麼是實際使用'''source'''的是在userpage回購?它應該是一個分叉,還是一個完整的重複?將foo添加爲遠程是不夠的? – JonnyJD