gitのブランチ名にスラッシュを含めるときの罠
ブランチ名にはスラッシュを含めることができるわけだけど、ちょっとはまった。
$ git branch hoge $ git branch hoge/fuga error: unable to resolve reference refs/heads/hoge/fuga: Not a directory fatal: Failed to lock ref for update: Not a directory
という感じで、hogeブランチつくった後にhoge/fugaブランチをつくろうとするとエラる。なんでかというとhogeというブランチ名を作った時点で .git/refs/heads/hoge というファイルができていて、hoge/fuga ブランチをつくるためには .git/refs/heads/hoge/fuga というファイルをつくる必要があるので、すでに hoge があるよってことでエラるんだと思う(たぶん)。
逆もしかり。
$ git branch hoge/fuga $ git branch hoge error: there are still refs under 'refs/heads/hoge' fatal: Failed to lock ref for update: Is a directory