昨日の gitのブランチリストを鮮度順に表示する で、タイムスタンプつけたブランチなんか厄介な事になりそうだからやめておいた方がいい、などと書きましたが、残念ながら重度の進行性中二病に罹患しているのでやってみます。
例えばhogeというブランチ名の頭に年月日時分秒までのタイムスタンプをつけるなら
git branch `date +'%Y%m%d%H%M%S'`hoge
とするわけですが、これを毎回書くのは大変なわけです。
そこでエイリアス(別名)のコマンドを作ってあげます。 ./git/configに以下を追加します。
[alias]
branch-now = "!sh -c 'git branch `date +'%Y%m%d%H%M%S'`$1' -"
checkout-now = "!sh -c 'git checkout -b `date +'%Y%m%d%H%M%S'`$1' -"
branch-now
とかcheckout-now
のところは好きな名前をつけてください。簡単でわかりやすいものがよいです。
gitはエイリアスコマンドもタブ補完してくれるので、よく使うものでなければ、上のように元のコマンドを踏襲しておくと忘れにくいです。逆によく使うものであれば、短いに越したことないです。
git branch-now hoge
とすれば
20130829012345hoge
みたいなブランチが作成されます。hogeを省略すると20130829012345
というブランチが作成されます。
ついでにgit checkout
のエイリアスも書いてありますが、
git checkout-now hoge
とすれば20130829012345hoge
ブランチを作ってスイッチしてくれます。
ブランチ名は作成する機能とかチケット番号とかの方がよさそうな気がするのだけれど、名前を考えるのが面倒なことはあるのでそういうときには使えるのかもしれないですね。
そんなことより言いたかったことは、エイリアスにはシェルコマンドやシェル関数なんかも書けて$1
みたく引数も渡せるということでした。本当に開発すべきコードのことを放り出して、俺の考えたカッコイイalias作成に没頭するとよいでしょう。いろんなことが捗った気がして迫り来る納期のこととか忘れられます。「進捗どうですか?」と聞かれたら「環境構築でいろいろと捗りました」などと答えましょう。その後、現実に直面することで、さらによいエンジニアとして成長すること間違いなしです。
エイリアスのさらに詳しい書き方は
Aliases
を見てください。非常に詳しく書かれていて、最初からこのリンク先だけ見ればいいと思います(最後に言うな)。