Noções Básicas de Git para Projetos Go
10 exemplos para você começar com Git e GitHub - 7 básicos e 3 intermediários.
Busque em todas as páginas da documentação
10 exemplos para você começar com Git e GitHub - 7 básicos e 3 intermediários.
git config --global user.name "Você" e git config --global user.email "voce@exemplo.com".GOPRIVATE para o prefixo da sua organização, por exemplo export GOPRIVATE=github.com/myorg/*.Comece a partir do remoto que corresponde ao caminho do seu módulo go.mod.
git clone git@github.com:myorg/widget.git
cd widget
go test ./...go get resolve o módulo.go.mod na raiz do repositório define o caminho do módulo para importações.Relacionado: Git para Equipes Go - por que Git e módulos compartilham uma história de lançamento
Veja as alterações rastreadas e se os arquivos de dependência divergiram.
git status
git diff go.mod go.sumgo.mod / go.sum geralmente significa alterações de dependência ou tidy..gitignore precisa de /bin/ ou *.exe.Relacionado: go.mod, go.sum & Seleção de Versão Mínima - o que esses arquivos significam
Mantenha main liberável; crie um branch por alteração.
git switch -c feat/add-metricsfix/nil-panic, feat/grpc-health).main frequentemente para evitar conflitos de go.sum.Relacionado: Estratégias de Branching & Fluxo Baseado em Tronco - hábitos de fluxo baseado em tronco
Comite unidades compiláveis com mensagens claras.
git add internal/metrics/collector.go internal/metrics/collector_test.go
git commit -m "metrics: add process collector"_test.go com o código que eles cobrem.go test ou saídas de perfil.pacote: verbo corresponde a muitas convenções de projetos Go.Após go get ou edições de importação, faça tidy e comite os arquivos de módulo.
go get golang.org/x/sync@v0.10.0
go mod tidy
git add go.mod go.sum
git commit -m "go.mod: bump golang.org/x/sync"go mod tidy remove requisitos não utilizados e adiciona indiretos ausentes.go.sum para módulos transitivos inesperados.Publique o trabalho para revisão sem marcar uma versão ainda.
git push -u origin feat/add-metrics-u define o upstream para que git push / git pull posteriores funcionem sem argumentos extras.main com o plano de teste e o impacto do módulo anotados.go test ./... da CI antes de fazer o merge.Relacionado: Revisão de Código com PRs do GitHub - tamanho do PR e revisão ciente de módulos
Integre as alterações de outros e reexecute os testes.
git switch main
git pull --ff-only
git switch feat/add-metrics
git merge main
go test ./...--ff-only em main evita commits de merge acidentais ao atualizar o trunk local.go.sum cuidadosamente; reexecute go mod tidy após a resolução.Use o histórico do Git com o fluxo rápido de bisect do Go.
git log --oneline -n 10
git bisect start
git bisect bad
git bisect good v1.3.0
go test ./internal/parse -run TestDecodegit bisect combina bem com flags focadas de go test por pacote.v1.3.0 são limites válidos para bisect de módulos lançados.Relacionado: Rebasing, Cherry-Pick & Worktrees - ferramentas de higiene de histórico
Marque o commit que você deseja que os consumidores do módulo resolvam.
git switch main
git pull --ff-only
go test ./...
git tag -a v1.4.0 -m "v1.4.0: metrics collector"
git push origin v1.4.0-a) para lançamentos; elas carregam metadados de mensagem e tagger.go get github.com/myorg/widget@v1.4.0 após o proxy indexar a tag.Relacionado: Tags Assinadas & Lançamentos de Módulos Go - assinatura e comportamento do proxy
Trabalho paralelo sem conflitar saídas de go build.
git stash push -m "wip metrics" -- internal/metrics
git worktree add ../widget-hotfix main
cd ../widget-hotfix
go test ./...go.mod..git.go test; o cache de módulos é compartilhado.Relacionado: Padrões Git de Monorepo com go work - múltiplos módulos, um repo
Versões da Stack: Esta página foi escrita para Go 1.26.x (Green Tea GC padrão, modernizadores go fix - verifique o patch na compilação), chi (última versão - verifique na compilação), gin (última versão - verifique na compilação), echo (última versão - verifique na compilação), google.golang.org/grpc (última versão - verifique na compilação), sigs.k8s.io/controller-runtime (última versão - verifique na compilação), kubebuilder (última versão - verifique na compilação), tinygo (última versão - verifique os alvos de placa na compilação), wazero (última versão - verifique na compilação) e golangci-lint (última versão - verifique o conjunto de linters na compilação).
Revisado por Chris St. John·Última atualização: 18 de jul. de 2026