それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

GitHubでフォーク元の更新分のマージで最新版にする。

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

参考資料