Configuração do Git
Padrões e aliases sensatos do Git economizam horas para equipes Rust: pulls com rebase, logs úteis, hooks que espelham a CI e ignores globais para artefatos target/.
Busque em todas as páginas da documentação
Padrões e aliases sensatos do Git economizam horas para equipes Rust: pulls com rebase, logs úteis, hooks que espelham a CI e ignores globais para artefatos target/.
git config --global init.defaultBranch main
git config --global pull.rebase true
git config --global fetch.prune true
git config --global rerere.enabled true
git config --global alias.st 'status -sb'
git config --global alias.lg "log --oneline --graph -20"
git config --global alias.fp 'push --force-with-lease'Quando usar isso:
cargo fmt e clippy# ~/.gitignore_global
target/
**/*.rs.bk
.env
.env.*
!.env.examplegit config --global core.excludesfile ~/.gitignore_global# .pre-commit-config.yaml (repo)
repos:
- repo: local
hooks:
- id: rustfmt
name: rustfmt
entry: cargo fmt --all --
language: system
pass_filenames: false
- id: clippy
name: clippy
entry: cargo clippy --all-targets -- -D warnings
language: system
pass_filenames: falseO que isso demonstra:
target/rerere reutiliza resoluções de conflito gravadas| Configuração | Efeito |
|---|---|
merge.conflictstyle zdiff3 | Mostra o ancestral comum em conflitos |
push.autoSetupRemote true | O primeiro push configura o upstream |
core.autocrlf input | Finais de linha LF em macOS/Linux |
# .gitmessage
# <tipo>(<escopo>): <assunto> [TICKET]
#
# corpo: por quê, não o quê
git config commit.template .gitmessage
--no-verify a cada commit. Correção: corrija hooks lentos, não os desabilite.ssh-keygen e configuração de assinatura do GitHub antecipadamente.core.autocrlf surpreende na CI. Correção: .gitattributes * text=auto eol=lf.| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
lefthook | Hooks monorepo multilíngue | Repositório simples apenas Rust |
husky | Poliglota JS+Rust | Puro Rust |
| Apenas CI manual | Atrito local zero de hooks | Desvio de estilo antes do push |
Identidade e aliases globais; versões de hooks locais por repositório para reprodutibilidade.
git config --global credential.helper osxkeychain.
Use Git LFS para binários; prefira construir artefatos de release na CI em vez de cometê-los.
Versões da Stack: Esta página foi escrita para Rust 1.97.0 (edição 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4 e Polars 0.46+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026