LoginSignup
1
3

More than 1 year has passed since last update.

過去のコードを参考にしたい?!このコードはなんで書かれたの?!

Posted at

はじめに

開発をしている時に以下のように思う事がありませんか。

  • 過去のコードが何のために書かれているのか知りたい
  • 似た機能を作るから過去のコードを参考にしたい

そんな時に役立つ技を紹介します。

概要

Git blameを使い、コミットのハッシュ値を調べ、プルリクを調べ、何のために開発したのか、他にどんなコードを書いたのかを知るという手順です。

変更時のコミットを調べる

git blameコマンドを使うことで、特定のコードが最終変更されたコミットを調べる事ができます。

git blame [ファイルのパス]

コマンドを使うと、以下のように表示されます。
調べたいコードの行までいきます。
先頭の8桁のものを使ってプルリクエストを探していきます。

a774a46e (test 2021-08-11 10:18:04 +0900  1) import Image from "next/image";
a134a5dc (test 2021-07-20 23:13:52 +0900  2) import { Title } from "src/components/shared/Title";
a134a5dc (test 2021-07-20 23:13:52 +0900  3) 
90605cb8 (test 2021-08-11 10:44:14 +0900  4) type Props = {
90605cb8 (test 2021-08-11 10:44:14 +0900  5)   title: string;

変更時のプルリクを見つける

GitHubを開き、左上の検索欄に先ほど調べたコミットのハッシュ値を入力します

スクリーンショット 2021-11-13 22.58.21.png

今回は、対象のリポジトリを開いて検索をしているので、出てきた一番上をクリックします。

スクリーンショット 2021-11-13 22.58.44.png

プルリクエストを見つける事ができました。

スクリーンショット 2021-11-13 22.59.19.png

プルリクエストを開けば、以下のような事がわかりますね。

  • このコードを何の機能のために追加したのか
  • このコードは他にどんなコードと一緒に編集されたのか

既存の機能と類似する機能を追加するときに変更すべき箇所はどこなのかなどは大体把握する事ができたりします。
これで、過去のコードを参考にしたり、コードの意図を調べる事ができました!!

おわりに

自分も最近知って、よく使っています。
結構便利なので、是非使ってみてください。

この知識を使って少しでも開発が捗って、誰かの役に立てたら嬉しいです。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3