git-config-separation

Separate personal git settings from shared configs using Git's include mechanism.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/dragonkid/dotfiles --skill git-config-separation
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: git-config-separation
Source: https://github.com/dragonkid/dotfiles/tree/main/claude/skills/git-config-separation
Command: npx skills add https://github.com/dragonkid/dotfiles --skill git-config-separation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the challenge of keeping personal git configuration separate from shareable, version-controlled settings by using Git's include mechanism.

Core Features & Use Cases

  • Two-tier configuration: Main shared config files live in version control, while Personal/local settings reside in a separate local file.
  • Safe machine setup: Easily apply personal user identities, credentials, and signing keys on new machines without committing them.
  • Use Case: When provisioning a new development workstation, keep your personal details in ~/.gitconfig.local and include it in ~/.gitconfig.

Quick Start

Create and reference a local config with an include directive so that personal settings are loaded automatically.

Frequently Asked Questions about git-config-separation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I separate personal git configuration from shared settings?▼

You can separate personal git configuration by using Git's include mechanism to load a local, untracked file like ~/.gitconfig.local from your main ~/.gitconfig. This isolates personal user identities and credentials from shareable settings.

How does the git include mechanism work for machine-specific settings?▼

The git include mechanism loads additional configuration files automatically by referencing them with an include directive in your main ~/.gitconfig. This allows machine-specific settings like signing keys to reside in a separate local file.

What is the best way to manage git credentials across multiple machines without committing them?▼

The best way to manage git credentials across machines is a two-tier configuration setup where a shared main config includes a local per-machine file. This keeps personal details in ~/.gitconfig.local instead of version control.

How do I verify that my local git config file is loading correctly?▼

You can verify your local git config file is loading correctly by running verification commands provided by the skill. These commands confirm that your personal settings from ~/.gitconfig.local are actively loaded into your environment.

Do I need a two-tier configuration setup to isolate personal git user identities?▼

Yes, you need a two-tier configuration setup to isolate personal git user identities. This requires a main ~/.gitconfig that includes a local per-machine file, ensuring personal settings remain separate from shared, version-controlled files.

Can I use git include to isolate machine-specific paths and signing keys?▼

Yes, you can use git include to isolate machine-specific paths and signing keys. By placing these settings in a local file referenced by your main config, you keep them separated from shareable repository settings.