.gitattributes ジェネレーター
.gitattributes ファイルを生成します。改行コードの正規化方式を選び、検索可能な複数選択リストから使用中の言語、フレームワーク、バイナリファイルの種類を選択し、ロックファイルや変更履歴にマージ戦略の上書きを追加できます。すべての選択を重複のない1つの完成したファイルにまとめます。
入力
改行コードの正規化方法を選び、下のリストからプロジェクトで使用しているすべての言語、フレームワーク、バイナリファイルの種類を選択してください。必要に応じてマージ戦略の上書きも追加できます。すべてが下の重複のない1つのファイルにまとめられます。
改行コードの正規化
text=auto は、各貢献者がチェックアウトする内容に関係なく、リポジトリ内の改行コードを LF に正規化します。eol=lf / eol=crlf を追加すると、チェックアウト時の改行コードも指定できます。
カスタムルール
「Custom Rules」見出しの下に追加されます。# で始まる行はコメントとして保持されます。
出力
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/gitattributes-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"eolMode": "auto",
"groupLanguagesRuntimes": "[\"presetNode\"]"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `gitattributes-generator` tool (.gitattributes Generator) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/gitattributes-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title=".gitattributes ジェネレーター — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
改行コードの正規化方式を選び、検索可能な複数選択リストからプロジェクトで使用している言語、フレームワーク、バイナリファイルの種類を選択し、ロックファイルや変更履歴のマージ戦略を上書きすることで、すぐに使える .gitattributes ファイルを作成できます。ジェネレーターはすべての選択を、重複のない1つの整理されたファイルにまとめます。
.gitattributes ファイルとは?
.gitattributes ファイルは、特定のパスをGitがどのように扱うかを指定します。ファイルがテキストかバイナリか、どの改行コードに正規化するか、どの diff ドライバーを使うか、競合する変更をどうマージするかなどです。Windows、macOS、Linux の貢献者が CRLF と LF の改行コードを混在させることで起こる「すべてのファイルが変更されたように見える」という定番の問題を解決し、画像、フォント、アーカイブなどのバイナリ資産がテキストの差分をノイズで埋め尽くさないようにします。
このジェネレーターの使い方
- グローバルな改行コードのルールを選びます。
text=autoはコミット時に改行コードを正規化し、チェックアウトは変更しません。eol=lf/eol=crlfを使うと、チェックアウト時の改行コードも指定できます。 - プロジェクトで使用しているすべての言語とフレームワークを複数選択リストから選びます。出力は即座に更新されます。
- バイナリファイルのグループ(画像、フォント、アーカイブ、ドキュメント&メディア)を選び、Git がそれらをテキストとして差分比較やマージしようとしないようにします。
- 2つのブランチの変更を競合させるのではなく結合したい場合は、マージ戦略の上書きを追加します(例:
CHANGELOG.mdに union merge を適用)。 - プロジェクト固有のルールを Custom Rules ボックスに1行に1つずつ貼り付けます。
- 結果をコピーするか、
.gitattributesとしてそのままダウンロードし、リポジトリのルートに配置します。
マージの仕組み
選択された各プリセットは、それぞれの # 名前 ヘッダーの下に書き出されます。ルールは全体で重複が排除されます。2つのプリセットが完全に同じ行を宣言している場合、その行は1回だけ残り、最初にそれを宣言したプリセットの下に置かれます。そのため、言語、ロックファイルのルール、バイナリグループを組み合わせても、同じ行が繰り返されたファイルにはなりません。
ロックファイルに -diff -merge が設定されるのはなぜ?
package-lock.json、yarn.lock、Cargo.lock などのロックファイルは自動生成され、非常に大きくなることがあります。これらの差分表示やテキストマージは遅く、役立つことはほとんどありません。-diff は git diff / git show からこれらを非表示にし、-merge は不完全な自動マージではなく明示的な競合を強制します。そのため、競合を解決したら必ずロックファイルを再生成することになります。
.gitattributes ファイルはどこに置きますか?
.gitignore と同じく、Git リポジトリの最上位ディレクトリに置きます。ルールはそのフォルダとすべてのサブフォルダに適用されます。ディレクトリごとに上書きしたい場合は、入れ子になった .gitattributes ファイルを追加します。
既存のファイルを再正規化する必要はありますか?
改行コードのルールを追加しても、Git が再読み込みしたときにのみファイルに影響します。.gitattributes を追加したあとに一度 git add --renormalize . を実行すると、既にトラッキングされているファイルにも新しいルールが適用されます。その後、結果をコミットしてください。
プライベートですか?
はい。すべての処理はブラウザ内で完結します。選択内容やカスタムルールがサーバーにアップロードされることはありません。
改行コードやインデントの一貫性にも関わるコンパニオンファイルについては、EditorConfig Generator をご覧ください。生成物をリポジトリから完全に除外するファイルを作成するには、Gitignore Generator を使ってください。将来のファイルのルールを宣言するのではなく、既存のファイルの改行コードを変換したい場合は、CRLF/LF Line Ending Converter をお試しください。