Published on

テンプレートから作成したリポジトリを、本家リポジトリに追従する

Authors

モチベーション

このブログは https://github.com/timlrx/tailwind-nextjs-starter-blog のテンプレートから作成したのですが、だいぶ時間が経ったので本家の変更を取り込みたいと思いました。

やったこと

GitHub で Fork/clone したリポジトリを本家リポジトリに追従する - Qiita の記事を見つけて「本家リモート upstream を追加する方法」を行いました。

oikawa.dev % git remote add template https://github.com/timlrx/tailwind-nextjs-starter-blog
oikawa.dev % git fetch template
From https://github.com/timlrx/tailwind-nextjs-starter-blog
 * [new branch]      master               -> template/master


oikawa.dev % git merge template/master
fatal: refusing to merge unrelated histories

そのままの手順だと merge コマンドでエラーになりました。 テンプレートで作成したリポジトリなので、コミットログがないためですね。

merge コマンドに --allow-unrelated-histories オプションを付けて再実行します。

oikawa.dev % git merge template/master --allow-unrelated-histories

コンフリクトがたくさん出るので解決してマージコミットして完了できました。

やりたいことはできたんですが、この方法だと本家の大量のコミットログも追加されてしまうので、テンプレートリポジトリのメリットが少し薄れてしまうなぁとなりました。 もっといい方法がありそうなんですが、あまり実行頻度が高い作業でもないので一旦良しとしたいと思います。