Vai al contenuto
__HTML_TAG_110_ Tutti i comandi delta_HTML_TAG_111___

Delta Cheatsheet

Installazione

Tabella_116_

Comandi di base

Tabella_117_

Uso avanzato

Tabella_118

Configurazione

Delta è configurato tramite il sistema di configurazione di Git. La configurazione può essere impostata globalmente (~/.gitconfig) o per-repository (.git/config).

Configurazione di base

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    navigate = true
    line-numbers = true
    side-by-side = true

Esempio di configurazione completa

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    # General settings
    navigate = true
    light = false
    side-by-side = true
    line-numbers = true
    hyperlinks = true

    # Syntax highlighting
    syntax-theme = Monokai Extended

    # Layout
    width = 200
    tabs = 4
    wrap-max-lines = unlimited

    # Line numbers
    line-numbers-left-format = "{nm:>4}│"
    line-numbers-right-format = "{np:>4}│"
    line-numbers-minus-style = "red"
    line-numbers-plus-style = "green"
    line-numbers-zero-style = "white dim"

    # Colors and styles
    minus-style = syntax "#3f0001"
    minus-non-emph-style = syntax "#3f0001"
    minus-emph-style = syntax "#901011"
    minus-empty-line-marker-style = normal "#3f0001"

    plus-style = syntax "#002800"
    plus-non-emph-style = syntax "#002800"
    plus-emph-style = syntax "#007800"
    plus-empty-line-marker-style = normal "#002800"

    # Commit and file decoration
    commit-decoration-style = bold yellow box ul
    file-decoration-style = blue ul
    file-style = bold yellow ul
    hunk-header-decoration-style = blue box
    hunk-header-style = file line-number syntax

    # Whitespace
    whitespace-error-style = reverse red

    # Moved code detection
    color-moved-style = syntax

[diff]
    colorMoved = default

Set di funzionalità personalizzate

Crea profili di configurazione riutilizzabili:

[delta "my-dark-theme"]
    syntax-theme = Dracula
    line-numbers = true
    side-by-side = true
    navigate = true
    minus-style = syntax "#450a15"
    plus-style = syntax "#0a4514"

[delta "my-light-theme"]
    syntax-theme = GitHub
    light = true
    line-numbers = true
    side-by-side = false

[delta]
    features = my-dark-theme
  • Ehi! Nord Dracula gruvbox-dark gruvbox-light
  • Ehi! Solarized (light) __INLINE_CODE_68_
  • E' vero. __INLINE_CODE_70_

Common Use Cases

Use Case 1: Daily Code Review Workflow

# Configure delta for optimal code review
git config --global core.pager delta
git config --global delta.side-by-side true
git config --global delta.line-numbers true
git config --global delta.navigate true

# Review changes before committing
git diff

# Review staged changes
git diff --cached

# Review specific file changes
git diff path/to/modified/file.js

Use Case 2: Comparing Branches for Merge

# Compare feature branch with main
git diff main..feature-branch

# View side-by-side comparison with context
git diff main..feature-branch | delta --side-by-side --width 180

# Check for moved code blocks
git diff --color-moved main..feature-branch

# Review specific file differences between branches
git diff main..feature-branch -- src/app.py

Use Case 3: Investigation Code History

# View commit history with diffs
git log -p --follow path/to/file.py

# Compare specific commits
git diff abc123..def456

# Show changes in a specific commit
git show abc123

# View blame with delta formatting
git blame -L 50,100 src/main.rs

# Search for changes in history
git log -p -S "function_name" | delta

Use Case 4: Merge Conflict Resolution

# Enable side-by-side view for conflicts
git config --global delta.side-by-side true
git config --global delta.line-numbers true

# View conflicted files
git diff --name-only --diff-filter=U

# Examine conflicts in detail
git diff path/to/conflicted/file.py

# Compare with both parents during merge
git diff HEAD
git diff MERGE_HEAD

Use Case 5: Creazione di report diff leggibili

# Generate formatted diff for documentation
git diff main..feature > changes.diff
delta changes.diff > formatted-changes.txt

# Create side-by-side comparison
git diff --stat main..feature
git diff main..feature | delta --side-by-side --width 200

# Export with specific theme for presentations
git diff | delta --syntax-theme "Monokai Extended" --line-numbers

Migliori Pratiche

  • Set delta globalmente. Configurare git config --global core.pager delta una volta per utilizzare il delta per tutti i repository, garantendo un'esperienza di visualizzazione costante diff.

  • Abilita la modalità di navigazione: Utilizzare git config --global delta.navigate true per saltare rapidamente tra i file in grandi diff utilizzando i tasti n (next) e N (previous).

  • Ocere appropriato temi: Selezionare i temi sintassi che corrispondono al vostro sfondo terminale (dark/light) e fornire un buon contrasto. Prova con delta --show-syntax-themes per visualizzare in anteprima tutte le opzioni.

  • **Utilizzare le recensioni ** Abilita side-by-side = true per le recensioni dei codici e unisci i confronti, ma disattivalo per i controlli rapidi sui terminali stretti per evitare problemi di fasciatura della linea.

  • Configurare i numeri di linea strategicamente: Abilitare i numeri di linea per il debugging e le recensioni di codice (INLINE_CODE_77_), ma prendere in considerazione la disabilitazione per semplici diff per ridurre il disordine visivo.

  • **Rilevamento del codice spostato*: Impostare diff.colorMoved = default per evidenziare il codice che è stato spostato piuttosto che cambiato, rendendo le recensioni refactoring molto più chiaro.

  • Crea set di funzioni personalizzati: Definire più configurazioni delta per diversi flussi di lavoro (ad esempio, "review", "quick-check", "presentation") e passare tra loro secondo le necessità utilizzando l'opzione features_.

  • Ottimizzare per il flusso di lavoro Regolare width, tabs, e wrap-max-lines_ in base alle vostre tipiche dimensioni del terminale e agli standard di codifica per evitare interruzioni di riga scomode.

  • ** Utilizzare con comandi interattivi**: Configure interactive.diffFilter = delta --color-only_ per ottenere l'evidenziazione di delta in git add -p e altri comandi Git interattivi.

  • Si'. Creare Alias Git che includono opzioni specifiche delta per compiti comuni, come git config --global alias.review 'diff --color-moved' per flussi di lavoro di revisione standardizzati.

Risoluzione dei problemi

Traduzione: Codice non evidenziato | Attiva in Git: git config --global diff.colorMoved default. Quindi impostare lo stile delta: git config --global delta.color-moved-style syntax |