github pages みたいに、独立したブランチを作りたいとき

github には github pages という、gh-pages という名前のブランチにコミットされたファイルをプロジェクトの静的ページとして http://{username}.github.com/ というアドレスで公開できるすんばらしい機能があります。

gh-pages というブランチをコミットすれば表示されるのですが、管理画面からボタン1つでテンプレート込のCoolなページを作成してくれます。

そして生成された gh-pages というブランチはなんとmaster からの派生ではない、独立したブランチとして生成されていました。

git-make-an-orphan-branch1

普通に git co -b foo でブランチを作っても、親ブランチに紐付いてしまうので、全く更のブランチが欲しい時は –orphan オプションを使ってチェックアウトすると、同じようなことが実現できました。

チェックアウトして、新たにコミットする

手順は簡単、以下のような手順で作ります。

git checkout --orphan foo # foo という親なしのルートブランチを作る
git rm -rf . # 中身をまっ更にする

あとはこのブランチに何かコミットすれば、独立した foo ブランチを作ることができます。

github pages もどきでソースコードとは別に管理しつつ、プロジェクトのドキュメントをコミットするとか、独立したルートブランチをいくらでも作成できるので色々と用途があるような気がします。(なにかおもしろい使い方の実例があると教えて欲しいなぁ)

ちなみにこのブランチを rebase すると、rebase したブランチが親になりました。merge も普通に出来ました。(あんまり意味がないけれどやってみた)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする