ukoasis blog

git nowが便利すぎて泣いた

Nov 6, 2013

最近はHubFlowを利用して、featureブランチ作成、コーディング、コミット、最後にコミットをまとめてdevelopにマージというフローで開発をして幸せに浸っていたが、featureブランチでのコミットのコミットが以外とめんどい・・
とか思っていた時にふとgit-nowというツールの存在を思い出す。当時はgit使ってないし関係ない!とか思っていたが今になってみてみると超絶便利ですね。インストールもhomebrewで一発なので早速利用してみました

インストール

brew install git-now

私はzsh使っているので補完も一緒にインストール

brew install --zsh-completion git-now

利用イメージ

  • featureブランチ作成
git flow feature start test
  • 変更
git st
# On branch feature/test
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   test.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
  • git now
git now
[feature/test 10d1a49] [from now] 2013/11/06 15:07:00
 1 file changed, 1 insertion(+)

git log
commit 10d1a49b2e69c7208fe5cbf1f2066219d286adfd
Author: **** <****@gmail.com>
Date:   Wed Nov 6 15:07:00 2013 +0900

    [from now] 2013/11/06 15:07:00

    diff --git a/test.txt b/test.txt
    index 4f142ee..e0037f0 100644
    --- a/test.txt
    +++ b/test.txt
    @@ -1,2 +1,3 @@
     1111
     2222
    +3333

diffと日付がログに残る

  • 変更を色々した後にrebase
git now rebase 
pick 10d1a49 [from now] 2013/11/06 15:07:00
pick e4e50a3 [from now] 2013/11/06 15:09:32

# Rebase 0a49738..e4e50a3 onto 0a49738
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
  • feature終了
git flow feature finish test

今まではわざわざfeatureブランチ切って、細かくコミットしたい!とか思っていても中々腰が重かったのだけど、git nowでガツガツコミットできるようになった〜

参考にさせていただいたサイト

http://d.hatena.ne.jp/sinsoku/20101208/1291770514 https://github.com/iwata/git-now