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 enupstream
. -
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 comoupstream
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 comocurrent
. 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