このページ自体をGithub Pagesでホストしているのですが、
ソース自体もgithubで管理したい しかしリポジトリのルートからホスティングされるためbuildとかに入れてると例えば前者なら<Githubのユーザー名>.github.io/buildにアクセスしないといけない そうすると相対パスが狂ったりする 公式でおすすめされてるJekyllはインソースビルドしてるがフォルダ構造が汚くなるのでやりたくない などの問題があります。これをどうにか解決しようと頑張った。
(2020-08-08) ちょくちょく検索などで参照されてるようなので追記すると、現在はpublishするフォルダを選択できるようになっているようです。以下のページ参照。
GitHub Pages サイトの公開元を設定する
で、このサイトはというと上記の設定ができるようになる前にsubtreeを使った方法はやめてしまいました。この記事を書いた頃はmetalsmithでページを作っていたのですが、後にHugoに移動しました。さらにnetlifyでページを自動デプロイ&ホストしており手動ビルド→pushの方法は使用しておりません。ドメイン設定も楽だしgithub pagesのみでがんばる意味もそんなに無くなってしまった気がします。この記事を参照してくれていたκeenさんの記事のようにGitLab Pagesを使うのもおすすめだと思います。
そもそもソースファイルとソースから自動生成されたファイルがgitの履歴に同居するって時点でgitの良さを失っている気がしますよね、個人的に最近のgithub pagesはHTML直書きの簡易サイトのホスト向けっていう位置づけです。
Github pagesで意地でもサブディレクトリをルートにする(2016-05-07)