Conceptos básicos de Git para proyectos Go
10 ejemplos para empezar con Git y GitHub: 7 básicos y 3 intermedios.
Busca en todas las páginas de la documentación
10 ejemplos para empezar con Git y GitHub: 7 básicos y 3 intermedios.
git config --global user.name "Tu Nombre" y git config --global user.email "tu@ejemplo.com".GOPRIVATE con el prefijo de tu organización, por ejemplo export GOPRIVATE=github.com/miorg/*.Empieza desde el remoto que coincida con la ruta del módulo de tu go.mod.
git clone git@github.com:myorg/widget.git
cd widget
go test ./...go get resuelve el módulo.go.mod en la raíz del repositorio define la ruta del módulo para las importaciones.Relacionado: Git para equipos Go - por qué Git y los módulos comparten una historia de lanzamiento
Ver los cambios rastreados y si los archivos de dependencias han variado.
git status
git diff go.mod go.sumgo.mod / go.sum a menudo significan cambios en las dependencias o en tidy..gitignore necesita /bin/ o *.exe.Relacionado: go.mod, go.sum y Selección de Versión Mínima - qué significan esos archivos
Mantén main lista para lanzar; crea una rama por cambio.
git switch -c feat/add-metricsfix/nil-panic, feat/grpc-health).bisect sencillos.main frecuentemente para evitar conflictos en go.sum.Relacionado: Estrategias de Ramificación y Flujo Basado en Tronco - hábitos de flujo basado en tronco
Haz commit de unidades compilables con mensajes claros.
git add internal/metrics/collector.go internal/metrics/collector_test.go
git commit -m "metrics: agregar colector de procesos"_test.go junto con el código que cubren.go test o salidas de perfil.paquete: verbo coincide con muchas convenciones de proyectos Go.Después de go get o ediciones de importación, haz tidy y haz commit de los archivos del 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: actualizar golang.org/x/sync"go mod tidy elimina requires no utilizados y agrega indirects faltantes.go.sum para módulos transitivos inesperados.tidy cambiara archivos después del merge.Publica el trabajo para revisión sin etiquetar una versión todavía.
git push -u origin feat/add-metrics-u establece el upstream para que git push / git pull posteriores funcionen sin argumentos adicionales.pull request) contra main con el plan de pruebas y el impacto del módulo anotados.go test ./... de la CI se complete antes de hacer merge.Relacionado: Revisión de Código con PRs de GitHub - tamaño del PR y revisión consciente de módulos
Integra los cambios de otros y vuelve a ejecutar las pruebas.
git switch main
git pull --ff-only
git switch feat/add-metrics
git merge main
go test ./...--ff-only en main evita commits de merge accidentales al actualizar el tronco local.go.sum cuidadosamente; vuelve a ejecutar go mod tidy después de la resolución.tidy sin commitear.Usa el historial de Git con el flujo rápido de bisect de 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 se combina bien con las banderas de paquete go test enfocadas.v1.3.0 son límites válidos de bisect para módulos publicados.bisect en el PR de corrección para lectores futuros.Relacionado: Rebasing, Cherry-Pick y Worktrees - herramientas de higiene del historial
Etiqueta el commit que quieres que los consumidores del módulo resuelvan.
git switch main
git pull --ff-only
go test ./...
git tag -a v1.4.0 -m "v1.4.0: colector de métricas"
git push origin v1.4.0-a) para lanzamientos; llevan metadatos del mensaje y del etiquetador.go get github.com/myorg/widget@v1.4.0 después de que el proxy indexa la etiqueta.Relacionado: Etiquetas Firmadas y Lanzamientos de Módulos Go - firma y comportamiento del proxy
Trabajo paralelo sin conflictos en las salidas de go build.
git stash push -m "wip metrics" -- internal/metrics
git worktree add ../widget-hotfix main
cd ../widget-hotfix
go test ./...stash paths) para evitar incluir experimentos no relacionados de go.mod.worktrees proporcionan un segundo checkout que comparte una única base de datos .git.worktree necesita su propia ejecución de go test; la caché de módulos se comparte.Relacionado: Patrones de Git para Monorepos con go work - múltiples módulos, un repositorio
Versiones de la pila: Esta página fue escrita para Go 1.26.x (Green Tea GC por defecto, modernizadores de go fix - verifica el parche en la compilación), chi (última versión - verifica en la compilación), gin (última versión - verifica en la compilación), echo (última versión - verifica en la compilación), google.golang.org/grpc (última versión - verifica en la compilación), sigs.k8s.io/controller-runtime (última versión - verifica en la compilación), kubebuilder (última versión - verifica en la compilación), tinygo (última versión - verifica los objetivos de placa en la compilación), wazero (última versión - verifica en la compilación) y golangci-lint (última versión - verifica el conjunto de linters en la compilación).
Revisado por Chris St. John·Última actualización: 18 jul 2026