LoginSignup
5
5

More than 5 years have passed since last update.

gitのブランチ名にタイムスタンプをつけるエイリアス

Posted at

昨日の gitのブランチリストを鮮度順に表示する で、タイムスタンプつけたブランチなんか厄介な事になりそうだからやめておいた方がいい、などと書きましたが、残念ながら重度の進行性中二病に罹患しているのでやってみます。

例えばhogeというブランチ名の頭に年月日時分秒までのタイムスタンプをつけるなら

git branch `date +'%Y%m%d%H%M%S'`hoge

とするわけですが、これを毎回書くのは大変なわけです。
そこでエイリアス(別名)のコマンドを作ってあげます。 ./git/configに以下を追加します。

.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
を見てください。非常に詳しく書かれていて、最初からこのリンク先だけ見ればいいと思います(最後に言うな)。

5
5
0

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
5
5