Hasty Briefsbeta

Bilingual

Git's Magic Files

8 hours ago
  • #configuration
  • #git
  • #version-control
  • Git uses special files like .gitignore, .gitattributes, .lfsconfig, .gitmodules, .mailmap, .git-blame-ignore-revs, and .gitmessage to control behavior.
  • .gitignore specifies files git should ignore, with patterns for directories, wildcards, and negations.
  • .gitattributes configures file handling, including line endings, binary files, and GitHub Linguist overrides.
  • .lfsconfig sets Git LFS configuration, such as endpoint URLs and transfer settings.
  • .gitmodules defines submodule configurations, including paths, URLs, and branches.
  • .mailmap maps author names and emails to canonical identities for consistent commit attribution.
  • .git-blame-ignore-revs lists commits to skip during blame, useful for bulk changes like formatting.
  • .gitmessage provides a commit message template, though it requires manual configuration.
  • Forge-specific folders (.github/, .gitlab/, etc.) contain platform-specific configurations like CI/CD workflows.
  • Other conventions include .gitkeep for empty directories and .editorconfig for editor settings.
  • Tools like Docker and version managers use similar dotfiles (.dockerignore, .ruby-version) for configuration.