tag remota rama partir otra example crear git git-push

remota - git pull



¿Cómo se empuja una sola rama Git(y ninguna otra rama)? (4)

Estoy trabajando en un repositorio local de git. Hay dos ramas, master y feature_x .

Quiero insertar feature_x en el repositorio remoto, pero no quiero insertar los cambios en la rama master .

¿ git push origin feature_x un git push origin feature_x de mi feature_x branch ( feature_x branch ya existe en el control remoto)?

No quiero probar esto en mi caja, porque no puedo presionar para dominar ahora.


Actualización menor sobre la respuesta de Karthik Bose : puede configurar git globalmente, para que todos sus espacios de trabajo se comporten de esa manera:

git config --global push.default upstream


Entonces, digamos que tiene una rama local foo, un origen remoto llamado y una rama / origen remoto / maestro.

Para empujar el contenido de foo a origin / master, primero debe configurar su upstream:

git checkout foo git branch -u origin/master

Luego puedes empujar a esta rama usando:

git push origin HEAD:master

En el último comando puede agregar --force para reemplazar todo el historial de origen / maestro con el de foo.


Por defecto, git push actualiza todas las sucursales remotas. Pero puede configurar git para que actualice solo la rama actual a su versión anterior.

git config push.default upstream

Esto significa que git solo actualizará la rama actual (desprotegida) cuando hagas push de git.

Otras opciones válidas son:

  • nothing : no empuje nada (error) a menos que se proporcione explícitamente una refspec . Esto está dirigido principalmente a las personas que desean evitar errores siendo siempre explícitos.
  • matching : empuje todas las ramas que tengan el mismo nombre en ambos extremos. (Opción predeterminada antes de Ver 1.7.11)
  • upstream : empuje la rama actual a su rama upstream. Este modo solo tiene sentido si está presionando al mismo repositorio del que normalmente obtendría (es decir, flujo de trabajo central ). No es necesario tener el mismo nombre para las sucursales locales y remotas.
  • tracking : Desaprobado, en su lugar se utiliza en upstream .
  • current : empuje la rama actual a la rama remota del mismo nombre en el extremo receptor. Funciona tanto en flujos de trabajo centrales como no centrales.
  • simple : [disponible desde la versión 1.7.11] en el flujo de trabajo centralizado, funciona como upstream con una seguridad adicional para negarse a presionar si el nombre de la sucursal upstream es diferente del local. Cuando empuja a un control remoto que es diferente del control remoto del que normalmente tira, trabaje como current . Esta es la opción más segura y es adecuada para principiantes. Este modo se ha convertido en el predeterminado en Git 2.0.

si solo haz lo siguiente

git checkout feature_x git push origin feature_x