Continue(s)

Twitter:@dn0t_ GitHub:@ogrew

gitのfor-each-refで各ブランチで最後にcommitした人とその更新時刻を一覧表示させる。

普段はあまりそんな状況ないんですがふと今の作業ブランチだけでなくて、すべてのブランチを対象に最新のcommit情報をその更新時刻付きで表示したくなり「うーん、うまいやり方ないかなー」と思ってググったらgit for-each-refが使えるとのこと。知らなかった。

公式ドキュメント

Git - git-for-each-ref Documentation

【例】

git for-each-ref \
--sort=-committerdate \
--count=10 \
--format="
Date: %(color:red)%(authordate:iso)%(color:reset)
%(color:green)[%(authorname)]%(color:reset)
Ref: %(color:yellow)%(refname:short)%(color:reset)
Subject: %(subject)" \
refs/heads refs/remotes

上の例だと

  • 最新のコミット順
  • 10件
  • 日付とブランチ名とユーザ名とcommitメッセージ含め

て表示してくれる。 (色とかつけてるからごちゃごちゃしてるけど、整理すればシンプル。)

for-each-refは単体で使うよりこれを使ってブランチ一覧を取得してその上で何かする、みたいな状況で利用されることが多いらしい。

とはいえ、上の例を参考に上手く使えば
「さっき作業してたブランチなんだっけ?」
とか
「あのブランチって誰がいつ切ったの?」
みたいな調査が楽にできそう。

長いので.gitconfigにaliasを追加しておけば良さそう。

[alias]
    history = for-each-ref --sort=-committerdate --count=10 --format='Date: %(color:red)%(authordate:iso)%(color:reset)\t%(color:green)[%(authorname)]%(color:reset)\nRef: %(color:yellow)%(refname:short)%(color:reset)\nSubject: %(subject)\n' refs/heads refs/remotes

f:id:taiga006:20180504172346p:plain

RedashのRepo.で試しにやってみた図)


...と思ったらすでにこういうのがあるらしい。 まあ、誰かしら作ってるとは思ったけど。

github.com


参考

shuzo-kino.hateblo.jp

kakakakakku.hatenablog.com

「DNSをはじめよう」を読んだ。(技術書典4読書)

先日、秋葉原であった技術書典4で購入した本をこのGWに消化しようとしている。

最初に読んだのが@mochikoAsTech著「DNSをはじめよう」。

f:id:taiga006:20180429162526p:plain:w300

初参加の技術書典で750冊も売れたらしい。すごい。

表紙にもあるように「試しながら学べる」、いわゆるハンズオン形式の200ページもない本である。

具体的に本書で何を試すのかといえば

①お名前.comで好きなドメインを購入

②作ったドメインのネームサーバをAWSのRoute53に変更

whoisやdigを駆使してDNSを詳しく学習

と行った具合である。

スクショ画像が多く、この辺素人の人でもスムーズに手順を終えると思う。

また、本書はハンズオンの合間合間に具体的なシチュエーションが設定されたクイズが差し込まれており「なるほどそういうケースのときのためにこうしておくのか」みたいな学びが多い。

個人的には「ネームサーバ=電話帳」、「フルリゾルバ=秘書」の例えがわかりやすかった。

このおかげでいわゆる名前解決のトラブルってのがどの辺で起きるのか理解できた。

付録のAWSアイドルソング「愛はわがままサンシャイン」は専門用語の多いAWSから初心者には難しいワードをふんだんに盛り込んだ迷曲?そろそろ誰かがボカロに歌わせそう。

ふたりの思い出Redshihftって節が好き。


さて、以下は本書を読んでまだわかってないこと

  • 基本オープンリゾルバをフル活用でよくない?

  • /etc/resolv.cnfはどういうタイミングで書き換わっている?

  • nslookupdigの使い分け(今後はdigだけ使えれば特に困らない?)

  • TTLってどうやって更新するの?

この辺は追って自分で勉強しよう。


参考

mochikoastech.hatenablog.com

mochikoastech.hatenablog.com