Rama
En Git, una rama es una secuencia de commits que representa la evolución del proyecto (o de una funcionalidad concreta) a lo largo del tiempo. Siempre hay al menos una rama en un repositorio, normalmente llamada rama main.
Puedes crear ramas nuevas para trabajar en funcionalidades o correcciones de errores y luego fusionarlas de vuelta en la rama main cuando estén listas. Al crear una rama nueva, esta empieza en el commit más reciente de la rama actual.
El término rama de funcionalidad (feature branch) se refiere a una rama normal dedicada a una funcionalidad o tarea concreta. Una rama de este tipo puede llamarse como tenga sentido para ti o tu equipo; a Git le da igual (por ejemplo, login, feature-login, feature/login, bugfix/issue-123, etc.).
Las ramas te permiten experimentar con ideas nuevas, trabajar en varias funcionalidades en paralelo y aislar cambios de la rama main hasta que estén listos para integrarse. Aunque solo puedes trabajar en una rama a la vez, puedes cambiar entre ramas distintas cuando lo necesites.
En Git, las ramas son ligeras y fáciles de crear o gestionar. Crear una rama es instantáneo y no requiere duplicar archivos. Esto facilita crear varias ramas para distintas funcionalidades o experimentos sin preocuparte por el espacio de almacenamiento ni por el rendimiento.
Clonar o traer información desde un repositorio remoto crea copias de solo lectura de las ramas de ese repositorio remoto. Estas ramas se llaman ramas de seguimiento remoto (remote-tracking branches). Sus nombres usan el formato
<remote-name>/<branch-name>(por ejemplo,origin/main). Te permiten ver el estado de las ramas del repositorio remoto sin afectar a tus ramas locales.Entrada principal: Rama de seguimiento remoto
Ejemplos
Crea una rama nueva llamada new-feature y cambia a ella al momento:
git switch -c new-featureCambia a la rama main:
git switch mainFusiona la rama other-feature en la rama actual:
git merge other-featureElimina la rama other-feature:
git branch -d other-featureConfigura tu rama actual para que siga la rama remota origin/feature:
# Ahora mismo estás en una rama llamada `feature`:git branch --set-upstream-to=origin/feature# Versión más corta:git branch -u origin/feature# Ahora puedes ejecutar `git pull` sin indicar# la rama remota. Este comando traerá cambios# de `origin/feature` y los fusionará en# la rama `feature`:git pull
.gitignoregit checkoutgit configgit taggit worktree