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.