Git

よい Git コミットメッセージを書くために気をつけるべきポイント

本日は Git のコミットメッセージについてです。

Git の(広くいうなら VCS の)コミットメッセージは、チームで開発を行う場合、あるいは、個人での開発の場合でも長期にわたって開発を行う場合には「書き方の共通ルール」というものをあらかじめ決めておくと便利です。

このあたりは人それぞれの好みの問題にも関係するので誰もが納得する共通のルールを作ることは難しいのですが、 OSS コミュニティなどで一般に受け入れられているベストプラクティスのようなものはある程度確立されているようです。

私の狭い範囲での観測と学習、経験から思う「いいコミットメッセージを書くために気をつけるべきポイント」をまとめてみました。 興味のある方はご参考にしてみてください。

Git でローカルブランチをチェックアウトせずに更新する方法

Git でカレントブランチ以外のブランチを更新する方法についてです。

Git を使っていると、カレントブランチ以外のブランチを、チェックアウトしないまま(カレントブランチを切り替えないまま)で更新したくなることがときどきあります。

そういうときには次のようにすれば OK です。

$ git fetch [リモート] [リモートブランチ]:[ローカルブランチ]

具体例をあげます。 カレントブランチが add-awesome-feature となっている状況でリモート origin から master ブランチをフェッチするには次のとおりにします。

Git で引数なしで push したときの挙動オプション

Git で引数を省略して push したときの挙動のオプションについてかんたんにまとめておきます。

git push の正式なフォーマットは次のとおりですが、

$ git push <repository> <refspec>

たいていの場合 git push は次の形で書くことが多いかと思います。

$ git push <リモート> <ブランチ>

これらの引数は省略することが可能で git push だけで実行することもできます。

Git で疎通試験を行う方法

Git でリモートへの接続がうまくできるかどうかを確認する方法についてです。

すぐに結論ですが、次のコマンドを使えば OK です。

git ls-remote (リモート名)

リモート名を省略して使用することもできて、その場合は現在のブランチのアップストリーム(デフォルトのリモートブランチ)がチェック対象となります。

Git でデフォルトのリモートを変更する方法

Git の各種コマンドでリモート名を省略したときに使用されるデフォルトのリモートを変更する方法についてです。

Git では git pullgit push などのコマンドにおいてリモート名を省略することができます。

git diff コマンドとふつうの diff / patch コマンド

git のサブコマンドである git diff と通常の diff コマンド、 patch コマンドあたりの使い方についていくつかポイントを書き留めておきます。

diff コマンドで git diff 風の出力を出す方法

git diff の出力結果では、削除行の先頭に - が、追加行の先頭に + がつきます。 通常の diff コマンドの出力はこれとは形式が異なるのですが、 -u オプションを付けることで同等の結果を生成することができます。

git clean のオプションについてのまとめ

git で最も恐ろしい恐怖のコマンド(?)のひとつ git clean のオプションについてかんたんにまとめておきたいと思います。

git clean のオプションは次のとおりです。

Git でのリモートリポジトリの操作方法まとめ

Git でリモートリポジトリを操作する方法についてかんたんにまとめてみたいと思います。

Git でリモートリポジトリを操作する機会はあまりない & 失敗すると嫌なので、都度検索して調べています。 情報がまとまっているとちょっとしたときに便利なので、自分用としてまとめておきます。

以下 CRUD の C R U D の順で。

Git で現在のコミットのハッシュを取得する方法

Git で現在のコミット(正確には HEAD )のハッシュを取得するには rev-parse コマンドを利用します。

$ git rev-parse HEAD

ハッシュの短縮版を取得したい場合は --short オプションを追加します。

$ git rev-parse --short HEAD

ハッシュだけでなくコミットメッセージなども取得したいときは log を使うのがよいでしょうか。

$ git log -n 1

Git で容量が大きなリポジトリの一部だけダウンロードする方法

Git でリポジトリの一部だけをダウンロードしたいことがあります。

たとえば次のような場合。

  • リポジトリの容量が大きくて全部落とすと時間がかかる
  • テザリングなどで通信量を抑えたい
  • リポジトリの一部にしか興味がない

以下のコマンドでリポジトリの一部だけをダウンロードすることができます。

git clone --branch [branch] --single-branch [url] 
git clone --depth 1 --branch [branch] --single-branch [url] 

各オプションの意味は次のとおりです。

ページ