sakutarou’s blog

とりあえずWeb系技術をゆるく書いていく

今さらすっごい便利なtigをインストールした

tigはGitをCUIで扱う場合に便利にしてくれるツールです。
git loggit add 等がカラフルで見やすく、インタラクティブに操作できるようになります。

tigの存在は知ってたのですが、ずっーーと見て見ぬ振りをしていたので使ってみました。

インストール

rpmforgeを追加すればyumでインストールすることが可能です。
MacであればHomebrewでインストール可能みたいです。

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

vim  /etc/yum.repos.d/rpmforge.repo
- enabled = 1
+ enabled = 0

yum --enablerepo=rpmforge install tig

ただし、yumでインストール出来るのは結構古いので、自分でmakeしてもいいかも
http://jonas.nitro.dk/tig/manual.html

使い方

git clone した場所で、 tig と入力するだけです。
tig を実行すると git log した状態と同じになります。

tigを実行した画面
f:id:sakutarou:20160111221327g:plain

この状態で上下で対象のcommitを選び、エンターでdiffを見ることが出来ます。

ステータスを確認する(git status)

現在のステータスを確認するには tig status を実行します。
※tigの初期画面から S でも移動可能

f:id:sakutarou:20160111221509g:plain

基本的にはgit statusと変わりませんが、この画面上で git add , git diff , git reset , git commit を完結することが出来ます。

git add、git reset

ファイルを選択した状態で u を押す

git diff

ファイルを選択した状態で Enter を押す

git checkout --

ファイルを選択した状態で ! を押す
「Are you sure you want to revert changes?」と聞かれるので、y を押すことで変更を戻すことが可能です。

git commit

addをした状態で、C を押す

その他

~/.tigrc を修正することで細かな設定を変更することが可能です。
http://qiita.com/yoshikazusawa/items/d99e8b5d6f6a45aa6e2e
http://jonas.nitro.dk/tig/tigrc.5.html

CakePHP3.1で追加されたRoutes Shellを試してみた

前提

Routes Shell 何に使うの?

Routes Shell はroutesを複雑に作っている場合等、CLIからroutesが正常に動くかをテストするときに使います。

URL解析チェック

以下のコマンドを実行することで、どのroutesに一致して、どうparseされるかを確認できます。

php bin/cake.php routes check /hoges/edit/1

// routesには以下が設定してあります。
// $routes->connect('/hoges/:action/*', ['controller' => 'fugas']);

実行結果

f:id:sakutarou:20160103013317p:plain

※Queryを含む場合はcheck対象のURLをダブルコーテーションで囲む必要があります。

php bin/cake.php routes check "/hoges/edit?key1=aaa&key2=bbb"

URL生成チェック

以下のコマンドを実行することで、どういうURLが生成されるかを確認することが出来ます。

php bin/cake.php routes generate controller:fugas action:edit 1

// routesには以下が設定してあります。
// $routes->connect('/hoges/:action/*', ['controller' => 'fugas']);

実行結果

> /hoges/edit/1