github は手軽にフォーク出来て便利
github で フォーク(fork)後に、フォーク元の更新の差分を、自分のフォークに取り込むための手順とやり方です。
準備: フォークしたローカル環境(自分のレポジトリ)に移動
cd my-forked-repos
作業:フォーク元の登録
git remote add でfork 元を登録する ローカルのgit にリモートとして、フォーク元を登録します。
例
git add remote upstream https://github.com/元のレポジトリ.git
upstream
の名前は、は覚えやすい名前であれば何でもいいです。一般的にupstreamが使われるようです。URL
は git@github.com のSSHでもHTTPSでもどちらでもいいです。取得できればオッケ。
フォーク元の更新を取得します。
git fetch upstream
これで、upstream と名付けたレポジトリの最新コミットを、これを取ってきます。
ローカルのmasterとマージします。
自分のレポジトリのmasterと フォーク元(upsteam)の masrerをマージします。
git checkout master git merge upstream/master
コンフリクト解決しながら必要であればコミットする
おわったら
## github に送る git push
コレで完了。
git の基本機能remote add を使った対応。
github の公式に紹介されてる方法は git remote add を使ったものです。
githubのフォークといえども、gitの基本機能である複数リモートを使って対応するようです。
github 側でfork したときでも、.git/config
を自動生成するわけにはいかないので gitのコマンドで対応するのが限界ですね。
git のコマンドで2つ目、3つ目の同期先を指定する。
git remote add origin $path