GitHubでフォークしたリポジトリを最新状態に保つ方法
OSSなんかのプロジェクトをGitHubでフォークして自分のレポジトリに入れた場合、しばらくほったらかしにしておくとフォーク元はどんどん先に進んでいるのに自分のところのレポジトリは古いまま、となってしまう状態を避ける方法。
履歴書の技術欄にRailsとかのフレームワークを書くならせめて自分のGitHubアカウントにフォークしとけば多少なりとも印象あがりまっせという話
なんて記事を以前に書いたことがある。しかしフォークしたはいいものの、そのまま放置するとすごい古いレポジトリのままだったりする。すると転職対策としてフォークしていても逆効果になってしまう。例えば3年放置したOSSのクローンが自分のレポジトリにあるとそれはそのまま「ここ3年このOSSの動向はまったく追ってませんでした」という逆証明になってしまう。
転職の面談で「いつもそのOSSの動向はチェックしてまして」なんて言って面接官に「ところでなんであなたのクローンしたレポはこんなに古いまま放置状態なの?」とか聞かれたら赤面モノかもしれない。
そういう単なる転職対策だけではなく、普通にOSSに貢献する際にフォーク元が更新されたら、自分のも最新にしておく方が便利。
やり方
フォーク元の登録
まず履歴書の技術欄にRailsとかのフレームワークを書くならの記事のとおりに自分のGitHubアカウントにお好きなOSSをフォークする。
以下のgitコマンドでローカルディスクにクローンする。
$ git clone git@github.com:\<your user name\>/sugoi\_oss.git
ディレクトリを移動して、remoteにupstreamを追加する。例の<sugoigroup>/sugoioss.gitはフォーク元。</sugoi_group>
$ cd sugoi\_oss
$ git remote add upstream git@github.com:\<sugoi\_group\>/sugoi\_oss.git
最新にする方法
以下のコマンドでfetchしてrebaseすれば最新のマスター状態からご自身のコードを追加できる。
$ git fetch upstream
$ git rebase upstream/master
これだけ。どうってことないエントリーだな。。。