someone/foobar私がフォークしたGitHubにリポジトリがあるとしましょうme/foobar。
別のリモートを追加して定期的にそこからプルすることを忘れずに、新しいコミットを親リポジトリから直接フォークにプルするにはどうすればよいですか?
目標は次のとおりです。
git pull親リポジトリからフェッチするgit pushすべてを私のフォークに送る
someone/foobar私がフォークしたGitHubにリポジトリがあるとしましょうme/foobar。
別のリモートを追加して定期的にそこからプルすることを忘れずに、新しいコミットを親リポジトリから直接フォークにプルするにはどうすればよいですか?
目標は次のとおりです。
git pull 親リポジトリからフェッチするgit push すべてを私のフォークに送る回答:
フォークされたGitリポジトリーme / foobarを開きます。
比較をクリックしてください:

通知が届きます。
比較するものは何もありません。
someone:masterは、からのすべてのコミットで最新の状態です me:masterです。比較のためにベースを切り替えてみてください。
クリック このページでベース切り替えるをてください:

次に、分岐した日の後に、誰か/ foobarに対して行われたすべてのコミットを確認できます。
クリック プルリクエストの作成]をます。

プルリクエストにタイトルと説明を入力し、[ プルリクエストを作成 ]をクリックします。
次のページで、ページの一番下までスクロールし、プル要求のマージをクリックしますと確認マージを。
Gitリポジトリ me / foobarが更新されます。
編集:リベースオプションは次のとおりです。
Editボタンをクリックして手動でbase forkto me/foobarとhead forktoを切り替えることをお勧めしsomeone/foobarます。このように、それは非常に明確です
git remote set-url origin git@github.com:someone/foobar
git remote set-url origin --push git@github.com:me/foobar
ただし、注意点が1つあります。
これは、フォークを変更するのが1人だけの場合に最適です。
ただし、他の人と共有している場合は、フォークからプルする必要があります。その場合はがあります。、別のリモートが唯一のソリューションです。
編集:
実際には、警告を取り除くことができ ますgit pull git@github.com:me/foobar。
どちらを選択するかは、覚えやすい方です。
そのために、GitHub Web UIを使用するかなり単純な方法を使用しました。
me/foobar)

「プル」アプリ自動セットアップと、忘れているソリューションを。フォークのデフォルトブランチをアップストリームリポジトリと同期します。
URLにアクセスし、緑色の[インストール]ボタンをクリックして、自動同期を有効にするリポジトリを選択します。
ブランチはGitHubで直接1時間に1回更新されます。ローカルマシンでは、ローカルコピーが同期していることを確認するためにマスターブランチをプルする必要があります。
別のリモートを追加せずにそれを行う方法はわかりませんが、私はフォークしたレポをupstreamリモートとして常に追加するので、簡単に行うことができます。
git branch -a|grep remotes/upstream| while IFS="/" read p r b; do echo Syncing $r/$b to origin/$b; git push origin $r/$b:refs/heads/$b; done
これにより、すべてのブランチが同期されます。新しいrefs/heads/ブランチを作成する(既存のブランチのみを更新するために削除します)。分岐のいずれかが分岐すると、その分岐に対してエラーがスローされます。