# Git ツールキット（.gitignore・コミットメッセージ）

パスを貼ると、.gitignore のどの行でそのパスが無視される（されない）かを表示します。親フォルダが除外されていると「!」で戻せない理由も示します。判定は git の規則に沿い、入力は外へ送りません。

- URL: https://tools.itlibra.com/ja/git-toolkit
- 端末内で処理・アップロードなし
- 最終更新: 2026-10-26

## 使い方

1. 「.gitignore の内容」に、プロジェクト直下の .gitignore を貼るか「.gitignore を選ぶ」で読み込みます。
2. 「確かめるパス」に、確かめたいファイルやフォルダを 1 行に 1 つ書きます。「フォルダを選ぶ」を使うと、名前だけを読んで一覧にできます。
3. 結果の「効いた行」で、どの行で決まったかを確かめます。親フォルダが除外されている場合は、その親フォルダが示されます。
4. 「.gitignore を作る」で、よく使う項目（Node・Python・Java など）を選んで組み立て、コピーか保存をします。
5. 「コミットメッセージ」に書いた文を貼ると、Conventional Commits の書式と件名の長さを検査します。

## こんなときに

- .gitignore に書いたのに、ファイルが無視されない（または無視されすぎる）理由を知りたい
- 「!」で一部を戻そうとしたが効かない。親フォルダが除外されていないか確かめたい
- 新しいリポジトリ用に、Node や Python などの .gitignore をすばやく作りたい
- チームのコミットメッセージを「type(scope): 説明」の形にそろえたい
- 既に追跡しているファイルを無視したいとき、git rm --cached の手順を確かめたい

## できること

### 行ごとの判定と、効いた行の表示

各パスについて、最後に一致した行を表示します。行番号つきなので、どの行を直せばよいかが分かります。

### 親フォルダの除外を再現

git と同じく、親フォルダが除外されていると中のファイルは「!」の行でも戻らない、という扱いを再現します。

### git の書き方の規則に沿って判定

「/」の位置による相対判定、末尾の「/」（フォルダだけ）、「\*\*」、「!」、「\\#」「\\!」、末尾の空白、「\[…\]」を扱います。

### よく使う項目から .gitignore を作成

Node.js・Python・Java・Go・macOS・Windows・JetBrains・VS Code の項目を選び、重複する行を除いて組み立てます。出典を明記します。

### コミットメッセージの書式検査

Conventional Commits 1.0.0 の type(scope)!: description、本文、フッター、BREAKING CHANGE を検査し、件名の長さを表示します。

### フォルダは名前だけ読む

フォルダを選ぶと、ファイル名の一覧だけを読みます。中身は読まず、外へ送信もしません。


## 対応状況

| 機能 | 対応 | 補足 |
| --- | --- | --- |
| .gitignore によるパスごとの判定（無視される・されない） | 対応 | — |
| 効いた行（行番号）と、親フォルダ除外の表示 | 対応 | — |
| 否定（!）・\*\*・\[…\]・末尾の / の規則 | 対応 | git の PATTERN FORMAT に沿う |
| .gitignore の作成（よく使う項目の組み合わせ） | 一部対応 | 8 種類の一部抜粋。全テンプレートではありません |
| コミットメッセージの書式と件名の長さの検査 | 対応 | — |
| コミットメッセージの内容の良し悪し | 非対応 | 書式と長さだけを見ます |
| サブフォルダの .gitignore・.git/info/exclude・グローバルの除外設定 | 非対応 | 読みません |
| 既に追跡されているファイルの判定 | 非対応 | git rm --cached で索引から外す手順を表示します |
| git コマンドの実行・リポジトリへのアクセス | 非対応 | — |
| パスの読み込み（フォルダ選択） | 一部対応 | ファイル名だけを読みます。中身は読みません |

## 制限・注意事項

- .gitignore は 50 万文字・5,000 行まで。確かめるパスは 5,000 件まで。
- 大文字・小文字の区別は、既定では Linux と同じく区別します。core.ignorecase が有効な環境では区別しません。
- 「既に追跡されているファイル」は、.gitignore では無視されません（この注意は常に表示します）。
- 実際のリポジトリの判定は、git check-ignore -v で確かめられます。このツールはその代わりではありません。

## プライバシーと安全性

.gitignore・パス・コミットメッセージはブラウザの中だけで処理し、送信も保存もしません。フォルダを選んだときはファイル名だけを読みます。ページを閉じると内容は消えます。

## よくある質問

### .gitignore に書いたのに、ファイルが無視されないのはなぜ？

よくある原因は、そのファイルが既に Git に追跡されていることです。追跡をやめるには git rm --cached で索引から外してから .gitignore に書きます。ほかに、.gitignore の場所（サブフォルダ）が違う、末尾に余計な空白がある、といった原因もあります。

### 「!」で戻したのに効かないのはなぜ？

親フォルダが除外されているからです。git では、除外されたフォルダの中のファイルは「!」の行で戻せません。親フォルダ自体を「!」で戻すか、除外するパターンを「フォルダ/\*」に書き換えてください。

### .gitignore の「/」はどういう意味ですか？

途中や先頭の「/」は、.gitignore があるフォルダからの相対位置を指します（例: /TODO は直下だけ）。末尾の「/」は、フォルダだけが対象になる指定です。

### コミットメッセージはどんな形で書けばよいですか？

Conventional Commits 1.0.0 では「type(scope)!: description」の 1 行目に続けて、空行・本文・フッターを書きます。破壊的変更は「!」か「BREAKING CHANGE:」で示します。

### 件名は何文字までが目安ですか？

件名は 50 文字程度が目安です。72 文字を超えると、ログやレビュー画面で折り返されやすくなります。これは一般的な慣習で、規則ではありません。

### .gitignore のテンプレートの出典は？

github/gitignore（CC0 1.0）の項目を元に、一部を抜き出して編集しています。出典は作成した .gitignore の先頭にも書きます。
