gitをすこし便利にするのにやっていること

この記事は Microsoft Student Partners Japan Advent Calendar 2017 2日目の記事です。

どうも、ラルフです。

閑古鳥が鳴いているアドカレなので、少しでも埋めていきたいと思います。

突発的に思いついたネタなので、MSPですが、MS関係なくgitについてです。

git って便利だよね

表題の通り、gitって便利ですよね。

変更履歴は遡れるわGithubとかにホスティングすれば公開や万が一のためのバックアップにもなるし、git bisectみたいなコマンドとかもあったりします。

一方で習得コストも多少あるわけですが、今回は基本のコマンドは使える人を対象にした、自分が日頃から行っている git を少し便利にするための Tips を共有したいと思います。

1. リポジトリ作成時に空のコミットを作成する

git initをした直後、何も add せずにコミットを作成します。

通常は空のコミットを作成することはできませんが、 --allow-empty をつけることで可能になります。

https://github.com/r-ralph/CRC32C.Standard/commit/ec9a37f000923ce0e8e79b30958466e70df52209

このようなコミットが作成されます。

どうしてこのようなコミットを作成するかというと、例として  git rebase -i なんかで最初のコミットに操作を対象にインタラクションリベースを行いたいとなった場合、通常であれば  git rebase -i --root のようにハッシュでない引数を渡す必要があります。

しかし、案外  --root のことを忘れることも多々あるので、空のコミットを作成し、それを参照することで擬似的なroot-rebaseを行えるようにしています。(rebase自体そこまでしませんが・・・)

後なんか便利なことがあったのですが、忘れてしまったので思い出したら追記します。

2. GithubのPullRequestをpullするコマンド

GithubのPullRequestを確認したい時、手元で動作させたり、IDE上で見てみたりしたいことがあると思います。

一応このようなコマンドでIDが1のPullRequestをローカルの  pr_1 ブランチに持ってこれますが、わざわざ入力するのもめんどいです。

そこで、gitのカスタムコマンドの機能を作ってわかりやすく取ってこれるようにしたいと思います。

Git オリジナルのコマンドを作成する

こちらの記事に書いてあるように、 git-[command] という実行可能なファイルをPATHの通っているところに置くことで、 git [command] といったコマンドで実行することが可能になります。

今回は、 git-pull-pr という名前のファイルを作成して、 git pull-pr 1 のような感じで使えるようにします。

中身はこんな感じです。

こうすることで、 git pull-pr 1 と実行すると pr_1 ブランチでローカルでcheckout出来るようになります。

まとめ

他に色々便利に改造してるのもあった気がするので、思い出したら更新します。

gitはいいぞ

 

SoftwareGit, Tips

Posted by Ralph