Cuando se llama a magit-push-current
la P P
de la memoria intermedia de estado, Magit 2.1.0
me pregunta dónde empujar la rama en el primer tiempo, cuando aguas arriba no está establecida.
¿Cómo puede permitir generar automáticamente el nombre como solía hacerlo antes?
some-branch-name
elorigin
control remoto, probablemente solo puedas escribiro TAB s TAB
y obtendrás el nombre que deseas.Respuestas:
Actualización: la "rama de inserción" mencionada a continuación ya se ha implementado. Consulte la documentación sobre ramificación para obtener más información.
Debe configurar la rama ascendente una vez. Una vez que lo haya hecho, eso lo P Pempujará y obtendrá listas de cambios no recogidos y sin empujar en el búfer de estado (siempre que haya alguno).
Hay varias formas de configurar la rama ascendente. Se podría utilizar el
--set-upstream
interruptor del empuje emergente: P -u P. O utilice el comando que establece la corriente arriba y no hace nada más: b u.Además, Magit ahora establece automáticamente la rama ascendente al crear una nueva rama, siempre que el "punto de partida" sea el nombre de una rama. Esto funciona para "upstreams" locales y remotos. Pero tenga en cuenta que si elige una rama local como punto de partida, eso no lo ayudará a empujar. Obviamente, empujar desde el repositorio actual al repositorio actual no tiene sentido y no está permitido.
Entonces, cuando la rama "ascendente" es de hecho otra rama local, entonces se P Pcomporta como si no se hubiera configurado ninguna rama ascendente, y se comporta exactamente igual P e. Lo mismo es el caso si no se configura ningún flujo ascendente.
Esto debido a una limitación en Git: uno puede asociarse únicamente una otra rama con alguna rama, y que la rama se llama entonces la "rama aguas arriba". Sería mejor si hubiera al menos una rama "ascendente" y una "publicación". Tengo la intención de implementar eso en Magit eventualmente. Ver el número 1485 .
Por lo tanto, si desea poder empujar en P Pese momento, la rama "ascendente" debe ser, por ejemplo, "origen / maestro", no "maestro".
Estoy considerando agregar una variante push que siempre se ejecuta
git push
sin ningún argumento. Lo que eso haga dependerá exclusivamente de la configuración de Git.fuente
master
y no se configuró en sentido ascendente, ¿tal vez debería bifurcarorigin/master
para configurar automáticamente el nivel ascendente?origin/master
conjuntoorigin/master
como ascendente, pero hubiera esperado tenerloorigin/branch-name
como ascendente.P -p P <... completion ...> RET
Tenga en cuenta queorigin/branch-name
se ofrece como candidato de finalización, por lo que no tiene que escribirlo.Utilizo el siguiente consejo que se activa automáticamente
--set-upstream
cuando la rama actual aún no tiene un flujo ascendente:Combinado con la finalización de ido, esto permite impulsar una nueva rama con P P RET:
fuente
Simplemente creo la nueva rama
b c
y luego edito el.git/config
archivo para señalarlo enorigin/branch
lugar de andar con todas las cosas de magit 2, lo que no parece funcionar de todos modos.Cambio:
A
Esto funciona, mientras que todavía no he encontrado una combinación de teclas en magit2 que logre lo mismo. Intentar configurar el control remoto no funciona porque todavía no existe en origen.
fuente
bu
. Pero eso usagit branch --set-upstream-to
y, como saben, Git no puede establecer una rama inexistente como la corriente arriba, por lo que Magit tampoco puede.