以前ブログの開設記事を投稿したときに、ソースコードは本家 GitHub リポジトリから Fork していると書きました。
本家の更新(コミット)を自身のリポジトリにも簡単に適用したかったからです。
「簡単に」ということですが、GitHub には sync fork という機能があり、これをクリックするだけで Fork 元の変更を取り入れることができます。
しかしながら、sync fork の実態は自身のリポジトリに本家の更新をマージするという処理が行われているようなので、当然コンフリクトが発生するケースがあります。
コンフリクトが発生すると、sync fork をクリックしたときに以下のような警告画面が出ます。

これを知らずに Discard commit してしまいめちゃくちゃ焦りました 💦
結果的に、ローカルリポジトリが残っていたので git push origin main -f を実行して、無理やり GitHub の方を上書きました。(危なかった💦)
プルリクを出した後に、コンフリクトした箇所を手作業で修正しましょう。
具体的には、commits behindをクリックすると、本家から取り込まれていないコミット一覧の画面にいきます。

その画面にある、Create pull request からだと、楽に作成できると思います。

作成されたプルリクを見てみると、ブラウザ上からはマージできないようです🤣

基本は上記に表示されたコマンド通りに進めていく流れになりますが、私なりのやり方は以下の通りです。
git remote が適切に設定されていることを確認します。
| origin | 自身のリポジトリ |
| upstream | Fork 元リポジトリ |
❯ git remote -v
origin ssh://git@github.com/ymmmtym/easy-notion-blog.git (fetch)
origin ssh://git@github.com/ymmmtym/easy-notion-blog.git (push)
upstream ssh://git@github.com/otoyo/easy-notion-blog.git (fetch)
upstream ssh://git@github.com/otoyo/easy-notion-blog.git (push)git pull origin main
git switch -c sync-fork
git pull upstream mainいくつかのコンフリクトが発生しました。
❯ git pull upstream main
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
remote: Enumerating objects: 434, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (125/125), done.
remote: Total 434 (delta 189), reused 311 (delta 184), pack-reused 103
Receiving objects: 100% (434/434), 97.94 KiB | 301.00 KiB/s, done.
Resolving deltas: 100% (207/207), completed with 21 local objects.
From ssh://github.com/otoyo/easy-notion-blog
* branch main -> FETCH_HEAD
48add50..60e456c main -> upstream/main
CONFLICT (modify/delete): __tests__/pages/__snapshots__/index.test.tsx.snap deleted in 60e456c178cc1f55e9b401d994d2af59b350126a and modified in HEAD. Version HEAD of __tests__/pages/__snapshots__/index.test.tsx.snap left in tree.
CONFLICT (modify/delete): __tests__/pages/blog/__snapshots__/[slug].test.tsx.snap deleted in 60e456c178cc1f55e9b401d994d2af59b350126a and modified in HEAD. Version HEAD of __tests__/pages/blog/__snapshots__/[slug].test.tsx.snap left in tree.
CONFLICT (file location): src/components/like-button.tsx added in HEAD inside a directory that was renamed in 60e456c178cc1f55e9b401d994d2af59b350126a, suggesting it should perhaps be moved to components/like-button.tsx.
Auto-merging lib/notion/client.ts
Auto-merging lib/notion/interfaces.ts
Auto-merging next.config.js
CONFLICT (content): Merge conflict in next.config.js
CONFLICT (file location): src/pages/api/feed.ts added in HEAD inside a directory that was renamed in 60e456c178cc1f55e9b401d994d2af59b350126a, suggesting it should perhaps be moved to pages/api/feed.ts.
CONFLICT (file location): src/pages/api/like.ts added in HEAD inside a directory that was renamed in 60e456c178cc1f55e9b401d994d2af59b350126a, suggesting it should perhaps be moved to pages/api/like.ts.
CONFLICT (modify/delete): src/components/document-head.tsx deleted in 60e456c178cc1f55e9b401d994d2af59b350126a and modified in HEAD. Version HEAD of src/components/document-head.tsx left in tree.
CONFLICT (modify/delete): src/pages/blog/[slug].tsx deleted in 60e456c178cc1f55e9b401d994d2af59b350126a and modified in HEAD. Version HEAD of src/pages/blog/[slug].tsx left in tree.
CONFLICT (modify/delete): src/pages/index.tsx deleted in 60e456c178cc1f55e9b401d994d2af59b350126a and modified in HEAD. Version HEAD of src/pages/index.tsx left in tree.
Automatic merge failed; fix conflicts and then commit the result.これらをローカルでいい感じに編集して、自分のリポジトリの main ブランチに push して更新完了です。