remove remote origin example git git-remote git-status

example - git remote remove origin



¿Cómo puedo saber en qué sucursal "primaria" remota se basa mi sucursal? (4)

Tengo un escenario en el que hay varias ramas de seguimiento remoto dentro de mi repositorio local con las que debo sincronizar. Nuestro modelo de flujo de trabajo es:

  • crear una sucursal localmente, basada en la rama de seguimiento remoto deseada
  • hacer nuestros cambios
  • construir / probar / arreglar
  • cometer
  • retroceder al servidor remoto

Me he dado cuenta de que el "estado de git" no me muestra en qué rama se basa mi sucursal local a menos que algo haya cambiado; es decir, cambios locales no confirmados o una recuperación reciente coloca a mi rama local detrás de los tiempos. ¿Hay alguna forma de saber en qué rama se basa mi sucursal local sin tener que cambiar las cosas? Algo así como, "git status -showparentbranch" o algún otro comando que muestre esto. Ocasionalmente me encuentro con esta necesidad pero todavía no sé cómo satisfacerla.


Git no rastrea en qué ramas se realizó una confirmación. No hay forma de saberlo. Si los commits ocurrieron en su repositorio, entonces puede inspeccionar el reflog, pero eso es todo. Eche un vistazo a la explicación del DAG en el libro Pro Git .

También puede visualizar mejor la historia con gitk --all o git log --graph --decorate

Espero que esto ayude.


También puedes intentarlo:

git rev-parse --abbrev-ref --symbolic-full-name @{u}

Y usando este alias en su archivo .gitconfig:

[alias] showparentbranch = rev-parse --abbrev-ref --symbolic-full-name @{u}

A continuación, simplemente puede llamar:

git showparentbranch

Probado en la versión de git 2.10.2.windows.1


prueba esto:

git log --graph --decorate


git branch -vv :

  • enumera todas tus sucursales locales
  • mostrar el nombre de la sucursal remota al lado de cada sucursal local
  • resaltar la rama local activa

... a partir de esto, podrá determinar la rama remota de la rama activa actual, y más.

Si tienes muchas sucursales locales, la lista puede ser muy larga. Utilice la git branch -vv | grep SOMEWORD git branch -vv | grep SOMEWORD para limitar la salida a solo ramas que contengan SOMEWORD. Si puede pensar en una palabra única para su sucursal, obtendrá el mejor filtro (solo un resultado).

También obtendrá algunos datos adicionales en la salida, es decir, el número (SHA1) y el mensaje de la última confirmación. El filtro grep se aplicará a estos a. No pude encontrar una manera de excluirlo.

De la documentación de la sucursal de Git:

-v

-vv

--verboso

Cuando esté en el modo de lista, muestre sha1 y confirme la línea de asunto para cada encabezado, junto con la relación con la rama ascendente (si corresponde). Si se administra dos veces, imprima también el nombre de la rama ascendente (vea también git remote show).

(En base a su comentario, sí, parece que la pregunta "correcta" sería acerca de la rama "remota" en lugar de la rama "principal". ¡Pero eso es lo que también busqué! :))