how to 上司を喜ばすためのgit ~gitコマンドを作ろう編~


どうもこんにちは。エンジニアブログ編集部の久保田です。


世の中はすっかりクリスマスムードですね。
クリスマスといえば、
サンタさんがプレゼントを届けてくれたり、
恋人や友達とプレゼントを交換したり、、、


これを機にお世話になっている上司や先輩に何かしてあげてもいいかもしれないですね。

普通はプレゼントを買ってきますが、そこは僕らはエンジニア。もちろん、プレゼントは作りますよね??


ということで今回は、オリジナル gitコマンドを作って上司にプレゼントしてしまいましょう。サンタになりましょう。


gitのコマンドの作り方は、とても簡単です。

/usr/local/libexec/git-core/
以下に、

git-xxx
という命名規則でプログラムを作る

だけでできてしまいます。

以上を行うと、git-xxxのxxxがコマンドになってくれます。(git hogeというコマンドを作るならば、git-hogeというファイル名にします。)

※ちなみにgit-core以下には、gitのコマンドが格納されています。 



では実際に作ってみましょう。
今回は、一つ前にいたブランチに戻る、「git back」というコマンドを作ります。

いろいろなブランチを行き来して作業をする多忙な隣のボスに、
「cd -」的なことをさせてあげたいのです。


僕はrubyで書きますが、得意な言語どうぞ。



#git-back
#!/home/xxx/.rbenv/shims/ruby
 
back_branch = `git reflog`.split("\n").each do |log|
  if branch = log.match(/checkout\:\smoving\sfrom\s(.*)\sto\s(.*)$/)
    break branch[1]
  end
end
`git checkout #{back_branch}`



このファイルに、chmodで実行権限をつけて、
/usr/local/libexec/git-core/
において終了です。

いくらでも行き来できちゃいますよ~!


git_back
 

いやぁ、これで隣のボスも喜ぶかなぁ~と思っていたら、

「git checkout -」

ということが普通にできるんですね。。。

git_co



。。。。。。。。。。。。。。。。。。。。。。。。。。



まぁ!僕は何を作るかよりも何をしたかが大切だと思います!!
きっと気持ちが一番大切ですよね!




みなさんはもっと便利なコマンドを作ってみてください。。。


本日はこんなところで、よいgit lifeを!