ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

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を追加する。例の/sugoi_oss.gitはフォーク元。

$ cd sugoi_oss
$ git remote add upstream git@github.com:<sugoi_group>/sugoi_oss.git

最新にする方法

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

$ git fetch upstream
$ git rebase upstream/master

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


tango-ruby.hatenablog.com

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com