Lewati ke konten utama

Generator .gitattributes

API reference

Buat file .gitattributes: pilih strategi normalisasi akhir baris, pilih bahasa, framework, dan jenis file biner dari daftar multi-pilih yang bisa dicari, lalu tambahkan override strategi merge untuk lock file dan changelog. Semua pilihan digabung menjadi satu file yang bersih dan siap tempel.

Input

Pilih cara normalisasi akhir baris, lalu pilih semua bahasa, framework, dan jenis file biner yang digunakan proyek Anda dari daftar di bawah, dan tambahkan override strategi merge jika perlu. Semuanya digabung menjadi satu file tanpa duplikasi di bawah.

Normalisasi Akhir Baris

text=auto menormalisasi akhir baris menjadi LF di repositori, apa pun yang di-checkout oleh kontributor. Tambahkan eol=lf/eol=crlf untuk juga memaksa akhir baris checkout tertentu.

Aturan Kustom

Ditambahkan di bawah header “Custom Rules”. Baris yang diawali # tetap disimpan sebagai komentar.

Output

Hasil .gitattributes
 
Apakah ini membantu?

Cara lain menggunakan alat ini

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\"]"
  }'

Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.

Tanyakan ke agen AI

Use the IOTools `gitattributes-generator` tool (.gitattributes Generator) on this input:

YOUR_INPUT_HERE

Tempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.

Widget sematan

<iframe
  src="https://iotools.cloud/embed/gitattributes-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Generator .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>

Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.

Biaya per panggilan API/MCPMulai dari 5 kredit
Butuh kredit lebih?Lihat harga

Juga tersedia melalui

Panduan

Buat file .gitattributes siap pakai dengan memilih strategi normalisasi akhir baris, memilih bahasa, framework, dan jenis file biner yang digunakan proyek Anda dari daftar multi-pilih yang bisa dicari, serta menambahkan override strategi merge untuk lock file dan changelog. Generator menggabungkan semua pilihan Anda menjadi satu file yang bersih tanpa duplikasi.

Apa itu file .gitattributes?

File .gitattributes memberi tahu Git cara memperlakukan path tertentu — apakah sebuah file berupa teks atau biner, ke akhir baris mana file itu dinormalisasi, driver diff mana yang dipakai, dan bagaimana perubahan yang bertentangan harus digabung. File ini memperbaiki masalah klasik "setiap file tampak berubah" yang disebabkan oleh campuran akhir baris CRLF/LF pada kontributor Windows, macOS, dan Linux, serta menjaga aset biner (gambar, font, arsip) agar tidak mengotori diff teks.

Cara menggunakan generator ini

  1. Pilih aturan global untuk akhir baris — text=auto menormalisasi akhir baris saat commit tanpa mengubah checkout, atau paksa akhir baris checkout tertentu dengan eol=lf/eol=crlf.
  2. Pilih setiap bahasa dan framework yang digunakan proyek Anda dari daftar multi-pilih — hasilnya langsung diperbarui.
  3. Pilih grup file biner (gambar, font, arsip, dokumen & media) agar Git tidak pernah mencoba membandingkan atau menggabungkannya sebagai teks.
  4. Tambahkan override strategi merge (misalnya union merge untuk CHANGELOG.md) jika perubahan dari dua cabang sebaiknya digabung, bukan bertentangan.
  5. Tempel aturan khusus proyek Anda ke dalam kotak Custom Rules, satu per baris.
  6. Salin hasilnya atau unduh langsung sebagai .gitattributes ke root repositori Anda.

Cara kerja penggabungan

Setiap preset yang dipilih ditulis di bawah header # Nama-nya sendiri, dan aturan dihapus duplikasinya secara global: jika dua preset mendeklarasikan baris yang persis sama, baris itu hanya disimpan sekali, di bawah preset pertama yang mendeklarasikannya. Dengan begitu, menggabungkan bahasa, aturan lock file, dan grup biner tidak pernah menghasilkan file yang penuh dengan baris berulang.

Mengapa lock file mendapat -diff -merge?

Lock file seperti package-lock.json, yarn.lock, dan Cargo.lock dihasilkan secara otomatis dan bisa sangat besar — membandingkan atau mencoba merge teks pada file ini lambat dan jarang berguna. -diff menyembunyikannya dari git diff/git show, dan -merge memaksa konflik langsung alih-alih merge otomatis yang berantakan, sehingga Anda selalu perlu membuat ulang lock file setelah menyelesaikan konflik.

Di mana file .gitattributes ditempatkan?

Letakkan di direktori tingkat atas repositori Git Anda, sama seperti .gitignore. Aturan berlaku untuk folder tersebut dan semua subfolder; tambahkan file .gitattributes bertingkat untuk override khusus direktori.

Apakah file yang sudah ada perlu dinormalisasi ulang?

Menambahkan aturan akhir baris hanya memengaruhi file saat Git membacanya kembali. Jalankan git add --renormalize . sekali setelah menambahkan .gitattributes untuk menerapkan aturan baru pada file yang sudah dilacak, lalu commit hasilnya.

Apakah ini privat?

Ya. Semuanya berjalan sepenuhnya di browser Anda — pilihan dan aturan kustom Anda tidak pernah diunggah ke server.

Untuk file pendamping yang juga penting bagi konsistensi akhir baris dan indentasi, lihat EditorConfig Generator. Untuk membuat file yang menjaga artefak hasil build tetap keluar dari repositori Anda, gunakan Gitignore Generator. Perlu mengonversi akhir baris pada file yang sudah ada, bukan menetapkan aturan untuk file di masa depan? Coba CRLF/LF Line Ending Converter.

gitattributesgitline endingscrlfeol normalizationgeneratordeveloper toolsversion controlmerge strategy

Suka alat-alatnya? Hilangkan iklannya.

Satu kali pembayaran menghapus semua iklan dari akun Anda, selamanya. Tanpa langganan, tanpa pelacakan.