メインコンテンツまでスキップ

過去の状態に戻ってみよう

過去のコードの捜索の仕方いろいろ

コードを探るにあたって、いくつかよく使うテクニックを紹介します。

コミットにチェックアウト

「ブランチにチェックアウトする」という概念を学びましたが、実はチェックアウトは、「コミット」の単位で行なえます。

「ブランチにチェックアウトする」とは、暗黙的に「ブランチの最新のコミットにチェックアウトする」ということと同じということです。

コミットにチェックアウトをすると、ブランチ(プロジェクト)のフォルダごと、コミットの時点までタイムスリップします。

IDEのリファクタ機能が使えるので、詳細なコードの依存先を確認することが出来ます。

Git Graphでコミットにチェックアウトするときは、コミットのタイトルを右クリックして「Checkout」を選択します。

過去のコードを捜索

コミットの検索

Git Graphでも検索ボタンからコミットを検索することができますが、Git Historyの方が、ブランチや担当者での絞り込みの機能などがあり、便利なことがあります。

ソース管理ペインの以下のボタンでGit Historyを開くことができます。

過去のコードを捜索

(ウィンドウを縦割りにしてGit Graphと見た目を比較しています)

Git Graph vs Git History

Git Graph と Git History は、大部分が似た機能を持つプラグインですが、普段の操作にはGit Graph、コードの解析には、Git Historyに軍配が上がります。

どちらも使ったらいいと思います。

コミット間のDiffを確認

あるコミットとコミットの間に、どんな変更があったのか知りたい。

ということがあります。

Git Historyを使って、以下の手順で変更されたファイルとDiffを確認することが出来ます。

1つ目のコミット(過去)の「More」ボタンを押して、コマンドパレットを開きます

過去のコードを捜索

コマンドパレットから、「Select this commit」を選択します。

過去のコードを捜索

画面表示は特に変わりませんが、これで1つめのコミットが選択状態になっていますので、このまま2つ目のコミットの「More」ボタンを押して、もう一度コマンドパレットを開きます。

過去のコードを捜索

今度は、「Compare with」を選択します。

過去のコードを捜索

すると、ファイルエクスプローラーのペインにCOMPARE COMMITSというタブが出現し、Diffのあったファイルのリストが表示され、Diffを確認することが出来ます。

過去のコードを捜索

ファイルの変更履歴を追跡

あるファイルに焦点を当てて、変更履歴を確認することも出来ます。

ファイルエクスプローラーからファイルを右クリックし、「Git: View File History」をクリックします。

過去のコードを捜索

選択したファイル専用のヒストリータブが表示されます

過去のコードを捜索

コミットIDで仲間とコミュニケーション

コミットには、16進数のユニークなハッシュ値がID(例: 9a0d349c)として振られています。

これで、コミットを追跡できるので、チーム内でのコミュニケーションでは、これを使って会話をしましょう。

コミットの時間で示したりすると、間違いの元なので、コミットIDを使うようにしましょう。

過去のコードを捜索

ほんとは長いコミットID

コミットIDは本当は「9a0d349c8ac3ca8043060b5092a35cab1ebed3c5」と40桁ありますが、大体のツールで先頭8桁に省略されて表示されています。

ハッシュ値は理論的に被らない、天文学的にランダムな数字です。ユーザービリティ的には先頭8桁でもその機能を十分に発揮します。

万(極?)が一はありますがw