search
LoginSignup
74
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

gitの空ブランチを作る

空ブランチ?

そもそも空ブランチとは何かというと、すでにあるコミット (master) なんかのブランチとは関係なく、全く関連性も何もないブランチのこと。

『そんなものがあるのか?』と不思議に思ったのですが、GitHubのとあるリポジトリには、"gh-pages" というものが存在しているのに気がつきました。!

orphan-branch.png

ツリーを見ると、全く独立していて、ドキュメントやプロジェクトページのHTMLが入っていたりします。GitHub上では、このドキュメント用の空のブランチが作れますが、コマンドラインから作るのは知りませんでしたので、メモ。

作り方

"doc" というドキュメント用の空ブランチを作る場合。

  • git checkout --orphan doc

orphanオプションを付ければ良いんですね。

ちなみに、既に履歴のあるリポジトリ上でorphanブランチを作ると、その時点での中身が入ったまま新しいブランチが作成されます。

ということで、いったん新しいブランチのディレクトリの中身を消してしまい、そこから新しくファイルを追加していく必要があります。 空ブランチにだけ必要なファイルを用意しコミットし、すでにあるファイルは必要がなければコミット対象に登録しなければ問題ありません。

ただし、Oprhanブランチから、通常のソースを含む作業ブランチ(masterやdevelop) に切り替えようとすると、Orphanブランチ的には未コミットのファイルがあると、切り替え時に怒られたりしますのでご注意を。

追記:GUIから作れるといいんだけど...

さて、わたしはよくSourceTreeを使うのですが、今の所、Orphan BranchをGUIから作る機能はついていないそうです。(軟弱ですみません...)

なお、SourceTreeからOrphan Branchを見るとこんな感じです:)

orphan-branch-with-sourcetree.jpg

2016/01/30 追記

  • 空ブランチ作成時には、無理に中身を全部消さなくとも大丈夫な件を修正しました。
  • SourceTreeについての情報を載せました。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
74
Help us understand the problem. What are the problem?