Git - duda en git rebase con origin/master

 
Vista:
sin imagen de perfil
Val: 23
Ha mantenido su posición en Git (en relación al último mes)
Gráfica de Git

duda en git rebase con origin/master

Publicado por stack (13 intervenciones) el 04/07/2019 13:34:35
Buenas a todos,

Según tengo entendido la rama origin/master es como una copia en local de la rama remota "master", y de ahí infiero que "origin/dev" debe ser lo mismo, o ser una rama normal, no estoy seguro pero para el ejemplo resulta irrelevante porque igualemente no me queda claro.

Pues el otro día en el trabajo me dijeron que, teniendo la rama por detrás de dev, debía hacer un rebase, y me dío el siguiente comando (estando en mi rama workingbranch):

1
$ git rebase origin/dev
1
$ git push origin workingbranch

Ahora bien y tal como comentaba, las optiones según yo entiendo son dos:
- origin/dev es sólo una copia local y que podría estar desactualizada
- origin/dev debería ser una rama que no existe y fallaría (que no falla)

¿alguién puede explicarme porque ha funcionado y que hacen realmente estos comandos?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 47
Ha mantenido su posición en Git (en relación al último mes)
Gráfica de Git

duda en git rebase con origin/master

Publicado por xve (18 intervenciones) el 04/07/2019 19:02:01
Hola Stack, no me queda muy claro cual rama estaba por detrás de la rama master (entiendo que de la master), no?

Si por ejemplo, tu rama dev esta por detras de la rama master, lo que tienes que hacer es ponerte en la rama dev y hacer un git rebase master, pero siempre de las ramas que tienes en tu maquina, no de las ramas del servidor (origin/dev)
Una vez hecho el rebase, puedes subir tu rama al orgin para igualar el dev al origin/dev

No se si me he sabido explicar o si te sirve...

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 23
Ha mantenido su posición en Git (en relación al último mes)
Gráfica de Git

duda en git rebase con origin/master

Publicado por stack (13 intervenciones) el 05/07/2019 09:02:38
Primero, para que quede más claro, la rama que esta por detrás es "workingbranch".

Por otro lado, supongo que tu ejemplo es válido, pero sigue sin quedarme claro.
Tu dices que "... hacer un git rebase master, pero siempre de las ramas que tienes en tu máquina", pero entonces no sería $git rebase origin/master, que es la "copia" de máster en mi maquina?

Y tampoco entiendo muy bien porque existe, si existe "origin/dev" ¿o esque siempre hay una copia en local de todas las ramas remotas?, como en mi caso sería, un origin/workingbranch?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 47
Ha mantenido su posición en Git (en relación al último mes)
Gráfica de Git

duda en git rebase con origin/master

Publicado por xve (18 intervenciones) el 05/07/2019 10:28:17
Perdon, me explique mal... tu puedes hacer un rebase de cualquier rama, ya sea local o este en algún servidor ya sea orgin u otro.... lo que si que tienes que tener en tu disco es la rama que vas a modificar... por ejemplo puedes hacer:

1
2
git checkout dev
git rebase origin/workingbranch
o
1
2
git checkout dev
git rebase workingbranch

Cuando haces un git fetch origin, git te descarga todas las ramas que hay en ese servidor por eso pone origin/rama...

No se si he conseguido responder tus dudas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 23
Ha mantenido su posición en Git (en relación al último mes)
Gráfica de Git

duda en git rebase con origin/master

Publicado por stack (13 intervenciones) el 05/07/2019 11:17:40
Vale, creo que lo voy entendiendo.

Ahora bien

origin/rama y rama, ¿son dos ramas independientes?

Porque a pesar de poder hacer un rebase de origin/rama, hay cosas que no puedo hacer, como:
1
2
3
4
git diff origin/dev
fatal: ambiguous argument 'origin/dev': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar