特定の期間の Git コミット履歴を表示する方法

GitGitBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Git は開発者が変更を追跡し、共同作業を行い、プロジェクトの履歴を管理するのに役立つ広く使用されているバージョン管理システムです。このチュートリアルでは、特定の期間の Git コミット履歴を表示するプロセスについて詳しく説明し、プロジェクトのバージョン管理を効率的に行うための知識と実践的な例を提供します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/BranchManagementGroup -.-> git/log("Show Commits") git/BranchManagementGroup -.-> git/shortlog("Condensed Logs") git/BranchManagementGroup -.-> git/reflog("Log Ref Changes") subgraph Lab Skills git/commit -.-> lab-414999{{"特定の期間の Git コミット履歴を表示する方法"}} git/diff -.-> lab-414999{{"特定の期間の Git コミット履歴を表示する方法"}} git/log -.-> lab-414999{{"特定の期間の Git コミット履歴を表示する方法"}} git/shortlog -.-> lab-414999{{"特定の期間の Git コミット履歴を表示する方法"}} git/reflog -.-> lab-414999{{"特定の期間の Git コミット履歴を表示する方法"}} end

Git コミット履歴の理解

Git は開発者がコードベースの経時的な変更を追跡できる強力なバージョン管理システムです。Git のコミット履歴は、開発者がプロジェクトの進化を理解し、問題をデバッグし、チームと効果的に協力するための重要な機能です。

Git コミットとは何か?

Git コミットは、特定の時点でプロジェクトに加えられた変更のスナップショットです。各コミットには、コミットハッシュと呼ばれる一意の識別子があり、個々の変更を参照して追跡することができます。

コミット履歴の重要性

Git のコミット履歴はいくつかの重要な目的を果たします。

  • 変更の追跡:コミット履歴は、プロジェクトに加えられたすべての変更の詳細な記録を提供し、コードベースの進化を理解しやすくします。
  • デバッグとトラブルシューティング:コミット履歴を調べることで、開発者はバグや問題を引き起こした特定の変更を特定でき、問題を修正しやすくなります。
  • 協力とチームワーク:コミット履歴により、複数の開発者が同じプロジェクトに同時に取り組むことができ、必要に応じて変更をレビューしてマージすることができます。
  • プロジェクト管理:コミット履歴は、プロジェクトの進捗を追跡し、将来の作業を計画し、個々のチームメンバーの貢献を理解するために使用できます。

コミット履歴のアクセス

git log コマンドを使用して、Git のコミット履歴にアクセスできます。このコマンドは、リポジトリに対して行われたすべてのコミットのリストを表示し、コミットハッシュ、作者、日付、およびコミットメッセージが含まれます。

git log

git log コマンドは、さまざまなオプションでカスタマイズでき、コミット履歴をさまざまな形式で表示できます。例えば:

  • git log --oneline:各コミットのコンパクトな 1 行の概要を表示します。
  • git log --graph:コミット履歴をグラフィカルな形式で表示し、リポジトリのブランチとマージを示します。
  • git log --since="1 week ago":過去 1 週間のコミット履歴を表示します。

Git コミット履歴の基本を理解することで、開発者はプロジェクトを効果的に管理し、協力することができ、コードベースが経時的に整理され、保守可能な状態を保つことができます。

特定の期間のコミット履歴を表示する

git log コマンドはコミット履歴の包括的なビューを提供しますが、特定の期間に焦点を当てる必要がある場合もあります。これは、デバッグ、プロジェクト計画、またはチームメンバーの貢献をレビューするなど、さまざまな目的に役立ちます。

日付でコミット履歴をフィルタリングする

特定の期間のコミット履歴を表示するには、git log コマンドに --since および --until オプションを使用できます。これらのオプションを使用すると、コミット日付に基づいてコミット履歴をフィルタリングできます。

## 過去 1 週間に行われたコミットを表示する
git log --since="1 week ago"

## 2023 年 1 月 1 日から 2023 年 3 月 31 日までに行われたコミットを表示する
git log --since="2023-01-01" --until="2023-03-31"

「1 day ago」、「2 weeks ago」、または「1 month ago」などの相対的な時間参照も使用できます。

作者でコミット履歴をフィルタリングする

日付でフィルタリングすることに加えて、コミットの作者でコミット履歴をフィルタリングすることもできます。これは、特定のチームメンバーの貢献をレビューしたい場合に便利です。

## 特定の作者によるコミットを表示する
git log --author="John Doe"

フィルターを組み合わせる

複数のフィルターを組み合わせて、コミット履歴をさらに絞り込むことができます。たとえば、特定の期間内に特定の作者によって行われたコミットを表示することができます。

## 過去 1 か月間に John Doe によって行われたコミットを表示する
git log --author="John Doe" --since="1 month ago"

Git コミット履歴のフィルタリングの技術を習得することで、プロジェクトの開発に関する貴重な洞察を得ることができ、問題をより効率的に特定して解決し、チームとより効果的に協力することができます。

実用的なアプリケーションと例

ここでは、Git コミット履歴の表示の基本を理解したので、この知識を日常の開発ワークフローでどのように活用できるか、いくつかの実用的なアプリケーションと例を探ってみましょう。

デバッグとトラブルシューティング

プロジェクトでバグや問題が発生した場合、コミット履歴を調べることは根本原因を特定するための貴重なツールになります。さまざまなフィルターを使用した git log コマンドを使うことで、問題を引き起こした特定のコミットをすばやく特定でき、コンテキストを理解しやすくなり、問題を修正しやすくなります。

## バグを引き起こしたコミットを見つける
git log --since="1 month ago" --author="Jane Doe" --grep="Fix bug in login functionality"

プロジェクト管理と協力

コミット履歴は、プロジェクトの進捗を追跡し、個々のチームメンバーの貢献を理解するためにも使用できます。この情報は、プロジェクト計画、リソース割り当て、およびパフォーマンスレビューに役立ちます。

## 特定のチームメンバーのコミット履歴を表示する
git log --author="John Doe" --pretty=format:"%h - %an, %ar : %s"

## チームメンバーごとのコミット数のレポートを生成する
git shortlog -sn

変更の元に戻し

場合によっては、特定のコミットまたは一連のコミットを元に戻す必要があることがあります。コミット履歴は、関連するコミットを特定し、安全に変更を元に戻すのに役立ちます。

## 最後のコミットを元に戻す
git revert HEAD

## 特定のコミットを元に戻す
git revert <commit-hash>

プロジェクト履歴の探索

コミット履歴は、時間の経過に伴うプロジェクトの進化を探索するための貴重なツールにもなります。変更を調べることで、意思決定プロセス、特定の設計選択の根拠、および全体的な開発軌道についての洞察を得ることができます。

## コミット履歴をグラフィカルな形式で表示する
git log --graph --oneline --all

Git コミット履歴の力を活用することで、開発ワークフローを合理化し、協力を改善し、プロジェクトの進化についてより深い理解を得ることができます。

まとめ

このチュートリアルを終えるころには、特定の期間の Git コミット履歴を表示する方法をしっかりと理解できるようになっているでしょう。このスキルを身につけることで、プロジェクトのバージョン管理をより適切に行い、変更を追跡し、特定の期間における開発の進捗を分析することができます。Git の熟練ユーザーであろうと、まだ始めたばかりの人であろうと、このガイドは Git コミット履歴管理をマスターするために必要なツールと技術を提供します。