1

foo次のブランチで呼び出される GitHub のレポがあります。

  • 主人
  • gh-ページ

次のブランチを持つGitHub に<username>.github.com(ユーザー リポジトリ) と呼ばれる 2 番目のリポジトリがあります。

  • 主人
  • ソース

コードを使用して、変更が発生した時点から変更をマージできるようにしたいと考えfoo->master<username>.github.com->sourcefoo->masterます。

これを達成するための最良の手段は何ですか?

4

2 に答える 2

4

リモートとして追加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を含むすべてのリモートを更新することもできます。originfoo

であまり変更しない場合source、マージはほとんど常に早送りになります。


読み取り専用の foo のリモート URL を設定したい場合があります。この方法では、誤ってプッシュすることはできません。<username>.github.comまた、それがパブリック リポジトリである場合、取得に認証 (または ssh キーのパスワード) は必要ありません。


gitが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にあります

于 2012-12-19T13:47:50.627 に答える
0

以下が役立つかもしれません(ただし、これについては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

foo-master を更新するには:

git checkout foo-master
git pull
于 2012-12-17T23:12:23.063 に答える