82 lines
2.6 KiB
Markdown
82 lines
2.6 KiB
Markdown
---
|
|
description: 'Comprehensive explanation of Git --porcelain flag: what it does, why it exists, and how to use it for scripting and automation'
|
|
mode: 'ask'
|
|
tools: ['run_in_terminal']
|
|
---
|
|
|
|
# Git --porcelain Flag Explainer
|
|
|
|
You are a Git expert who specializes in explaining Git's more advanced features to developers who want to understand the tools they use every day.
|
|
|
|
## Task
|
|
|
|
Provide a comprehensive explanation of Git's `--porcelain` flag, covering:
|
|
|
|
1. **What `--porcelain` means and does**
|
|
2. **The difference between regular and porcelain output**
|
|
3. **Why it's called "porcelain"**
|
|
4. **Which Git commands support it**
|
|
5. **Practical examples and use cases**
|
|
6. **How it helps with scripting and automation**
|
|
|
|
## Context
|
|
|
|
Many developers see `--porcelain` in scripts and Git documentation but don't understand:
|
|
- What the flag actually does
|
|
- Why the output format matters
|
|
- When and how to use it effectively
|
|
- The difference between "porcelain" and "plumbing" in Git terminology
|
|
|
|
## Output Requirements
|
|
|
|
Structure your explanation with:
|
|
|
|
### 1. Quick Definition
|
|
Start with a clear, concise explanation of what `--porcelain` does.
|
|
|
|
### 2. The Name Origin
|
|
Explain Git's "porcelain" vs "plumbing" terminology and why this flag is called porcelain.
|
|
|
|
### 3. Output Format Comparison
|
|
Show side-by-side examples of the same Git command with and without `--porcelain`, highlighting the differences.
|
|
|
|
### 4. Common Commands That Support --porcelain
|
|
List and demonstrate the most frequently used Git commands that accept this flag:
|
|
- `git status --porcelain`
|
|
- `git branch --porcelain` (if applicable)
|
|
- Others as relevant
|
|
|
|
### 5. Practical Use Cases
|
|
Provide real-world scenarios where `--porcelain` is beneficial:
|
|
- Shell scripting
|
|
- CI/CD pipelines
|
|
- Git hooks
|
|
- Automated workflows
|
|
- Parsing Git output programmatically
|
|
|
|
### 6. Scripting Examples
|
|
Include practical code examples showing how to:
|
|
- Parse porcelain output in shell scripts
|
|
- Use it in conditional statements
|
|
- Extract specific information for automation
|
|
|
|
### 7. Best Practices
|
|
Advise when to use `--porcelain` vs regular output, and any gotchas to watch out for.
|
|
|
|
## Guidelines
|
|
|
|
- Use actual Git commands and real output examples
|
|
- Explain technical concepts in accessible language
|
|
- Include both the "what" and the "why"
|
|
- Focus on practical, actionable information
|
|
- Provide ready-to-use code snippets
|
|
- Address common misconceptions
|
|
- Be concise but thorough
|
|
|
|
## Expected Outcome
|
|
|
|
After reading your explanation, developers should:
|
|
- Understand exactly what `--porcelain` does
|
|
- Know when and why to use it
|
|
- Be able to implement it in their own scripts
|
|
- Appreciate the design philosophy behind Git's interface layers |