ジャバ・ザ・ハットリ
Published on

GitHubでフォークしたリポジトリを最新状態に保つ方法

Authors
  • avatar
    ジャバ・ザ・ハットリ

OSS なんかのプロジェクトを GitHub でフォークして自分のレポジトリに入れた場合、しばらくほったらかしにしておくとフォーク元はどんどん先に進んでいるのに自分のところのレポジトリは古いまま、となってしまう状態を避ける方法。

履歴書の技術欄に Rails とかのフレームワークを書くならせめて自分の GitHub アカウントにフォークしとけば多少なりとも印象あがりまっせという話

なんて記事を以前に書いたことがある。しかしフォークしたはいいものの、そのまま放置するとすごい古いレポジトリのままだったりする。すると転職対策としてフォークしていても逆効果になってしまう。例えば3年放置した OSS のクローンが自分のレポジトリにあるとそれはそのまま「ここ3年この OSS の動向はまったく追ってませんでした」という逆証明になってしまう。

転職の面談で「いつもその OSS の動向はチェックしてまして」なんて言って面接官に「ところでなんであなたのクローンしたレポはこんなに古いまま放置状態なの?」とか聞かれたら赤面モノかもしれない。

そういう単なる転職対策だけではなく、普通に OSS に貢献する際にフォーク元が更新されたら、自分のも最新にしておく方が便利。

やり方

フォーク元の登録

まず履歴書の技術欄に Rails とかのフレームワークを書くならの記事のとおりに自分の GitHub アカウントにお好きな OSS をフォークする。

以下の git コマンドでローカルディスクにクローンする。

$ git clone [email protected]:\<your user name\>/sugoi\_oss.git

ディレクトリを移動して、remote に upstream を追加する。例の/sugoi_oss.git はフォーク元。

$ cd sugoi\_oss
$ git remote add upstream [email protected]:\<sugoi\_group\>/sugoi\_oss.git

最新にする方法

以下のコマンドで fetch して rebase すれば最新のマスター状態からご自身のコードを追加できる。

$ git fetch upstream
$ git rebase upstream/master

これだけ。どうってことないエントリーだな。。。

関連記事