27
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Git でブランチ名の先頭に # (シャープ)をつける際の注意点

Last updated at Posted at 2015-01-28

SourceTree が良さ気にしてくれてたようで、ブランチ名が # (シャープ)で始まるブランチを CUI で操作する際には注意が必要なことを今さら気づきました。

なお、Git 的には、ブランチ名に # を使うことに問題はありません。使用できる文字列は git check-ref-format で確認できるようなので、詳しくは git-check-ref-format(1) Manual Page を見てみてください。

追記 - 2015/1/28

コメントで @_shimada さんにご指摘いただいた通り、単にシェルで # 以降がコメントになってるんですね... 皆さんもシェルで # 使う際には気を付けましょう! 

ブランチの作成

新しくブランチを作成する際、

NG
$ git checkout -b #1_new-branch

これだと -b オプションに値がないよ!って怒られる。正しくは、

OK
$ git checkout -b "#1_new-branch"

" " で囲む必要がある。

ブランチの取得

既に remote に存在するブランチの取得の際にも、やはり

OK
$ git checkout -b "#1_new-branch" origin/#1_test 

しなければならない。

ブランチの削除

もちろんローカルブランチを削除する際も、

OK
$ git branch -b "#1_new-branch"

となるが、リモートブランチの削除の場合は、

OK
$ git push origin :#1_new-branch

で削除できます。

まとめ

「ブランチ名の先頭にチケット番号を付けるぞ!」と意気込んで、ブランチ名を #1_new-branch にしてみたけど、さんざ作業した後にサーバー側で pull しようとしたら見事にハマって、いちいち " " するの面倒なので、今後はブランチ名の先頭に # を付けずに 1_new-branch にする事にした、って話でした。

ちなみに SourceTree とか GitHub の Web UI だと #1_new-branch って名前でブランチを作れますが、Bitbucket の Web UI からだと先頭の # が自動的に削除されて作られます。Bitbucket は各所で先頭の # を削除してくれる仕様な模様。

27
14
2

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
  3. You can use dark theme
What you can do with signing up
27
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?