• TOP
  • 記事一覧
  • GitリポジトリでのHTMLファイル更新履歴の取得と分析「History操作」

GitリポジトリでのHTMLファイル更新履歴の取得と分析「History操作」

更新日:2025/01/16

Webサイトの更新履歴管理する際Gitの履歴から色々と条件を付けて取得できます

GitHub WebUIでの操作方法

GitHub History 操作ガイド Historyの場所 1. リポジトリ上部の「Code」タブ 2. ファイル一覧の「History」ボタン History削除 1. git filter-branch 2. git push –force History戻す 1. git reflog で履歴確認 2. git reset –hard で戻す History確認 1. コミット履歴一覧表示 2. 各コミットの詳細確認 History検索 1. ブラウザの検索機能(Ctrl+F) 2. git log –grep=”検索語” 3. GitHub高度な検索機能 注意事項 ・History操作は慎重に行う必要があります ・チーム開発の場合は変更を共有しましょう ・定期的なバックアップを推奨します
  1. リポジトリへのアクセス
    • GitHubのリポジトリページにアクセス
    • 対象のブランチが選択されていることを確認
  2. フォルダの移動
    • リポジトリ内の確認したいフォルダまで移動
    • フォルダ名をクリックして移動
  3. 履歴の確認
    • 「History」ボタンをクリック(通常は画面上部にある)
    • または、フォルダ内で「Go to file」の隣にある「History」を選択
  4. フィルタリング
    • 日付範囲の指定(URLパラメータで可能)
    • 特定の作者による変更のフィルタリング
    • GitHub History 操作ガイド詳細

1. GitHub History どこにある?

  • Web UI での確認方法
    • リポジトリのメインページで「Code」タブを選択
    • ファイル一覧の上部にある「History」ボタンをクリック
    • 個別のファイルの場合は、ファイル表示画面の「History」ボタン

2. GitHub History 削除方法

    ローカルでの削除

    git filter-branch --force --index-filter \
    'git rm --cached --ignore-unmatch パス/ファイル名' \
    --prune-empty --tag-name-filter cat -- --all

    リモートへの反映

    git push origin --force --all

    3. GitHub History 戻す方法

    • 直前の状態に戻す
    git reflog                    # 履歴の確認
    git reset --hard HEAD@{1}     # 一つ前に戻す

    特定のコミットに戻す

    git reset --hard コミットハッシュ

    4. GitHub History 確認方法

    • Web UIでの確認
      1. リポジトリのメインページで「History」をクリック
      2. コミット履歴が時系列で表示
      3. 各コミットをクリックで詳細表示
    • コマンドラインでの確認
    git log --grep="検索キーワード"    # コミットメッセージ検索
    git log -S "検索キーワード"        # コード内容の検索

    PowerShellを使用した更新履歴の取得

    単純な履歴取得

    git log --name-only --since="2024-01-01" --until="2024-12-31" --format="" -- path/to/folder/

    特定のフォルダに限定

    git log -- path/to/folder/

    特定の条件に基づいてファイルをフィルタリングしCSV出力

    # ベースURLの設定
    $baseUrl = "https://your-domain.com"
    
    # 最初のコミット日を取得する関数を定義
    function Get-FirstCommitDate {
        param($file)
        $firstCommit = git log --format="%ad" --date=short --reverse -- $file | Select-Object -First 1
        return $firstCommit
    }
    
    # メイン処理
    $results | 
        Group-Object File | 
        ForEach-Object { $_.Group | Sort-Object Date -Descending | Select-Object -First 1 } |
        Where-Object { 
            $_.File -match '\.html$' -and     # HTMLファイルのみ
            $_.File -notmatch '/include/' -and # includeディレクトリを除外
            $_.File -notmatch '/thanks/' -and  # thanksディレクトリを除外
            $_.File -notmatch 'thanks\.html$' -and # thanks.htmlファイルを除外
            (Get-FirstCommitDate $_.File) -ge "2024-01-01" # 2024年以降に新規作成されたファイルのみ
        } |
        Sort-Object Date, File |
        ForEach-Object { 
            if ($_.Date) {
                "$($_.Date),$($_.File),$baseUrl/$($_.File)"
            }
        } |
        Out-File -Encoding utf8 "output.csv"

    単純な履歴取得

    git log --name-only --since="2024-01-01" --until="2024-12-31" --format="" -- path/to/folder/
    話題のキーワードから探す