¿Es posible hacer un Git Pull –rebase con las herramientas git de Visual Studio (y se puede configurar de forma predeterminada)?

4 minutos de lectura

avatar de usuario
LocalPCGuy

Primero, como dice el título, ¿es posible incluso en un solo paso (es decir, no fetch después rebase), para hacer un pull --rebase?

En segundo lugar, hay una configuración en Visual Studio para obligar a las herramientas git integradas de Team Explorer a hacer siempre una pull --rebase en lugar de un estándar pull (fetch/merge).

Soy consciente de que podría establecer el valor predeterminado en los archivos de configuración global o del proyecto con git config branch.autosetuprebase always, pero quería averiguar específicamente si Visual Studio podía actualizar/cambiar esa configuración o tenía una opción similar, como la mayoría de las otras GUI. No he podido encontrar nada, por lo que parece que no, de ahí la pregunta.

  • Use el IDE para cosas IDE y herramientas de control de versiones para cosas de control de versiones stackoverflow.com/q/19358148/520162. No conozco ningún IDE que pueda hacer frente adecuadamente al poder de Git, por lo que uso la única interfaz verdadera para Git, la línea de comandos. Sin embargo, no comenzaría a depurar o programar con la línea de comando. Ahí es donde los IDE suelen sobresalir.

    – eckes

    02/04/2015 a las 10:34


  • Personalmente, estoy de acuerdo con usted, pero mi pregunta es muy específica porque hay otros que pueden aceptar usar el ecosistema IDE tanto como sea posible. Estoy buscando minimizar su interrupción mientras sigo administrando las mejores prácticas de git. Si la respuesta final es simplemente usar la CLI o una herramienta como SourceTree, es bueno tener razones concretas de por qué, como que no puede hacer X con el IDE.

    – LocalPCGuy

    2 de abril de 2015 a las 12:12

  • @CarrieKendall Ni siquiera pensé en mirar la respuesta. Gracias.

    – NathanOliver

    14 de julio de 2015 a las 14:12

  • +1 para git config branch.autosetuprebase always. Ese es mi nuevo conocimiento por hoy, no más hasta mañana por favor.

    –Paul Hicks

    27 de agosto de 2015 a las 1:51

  • Tengo que votar para conseguir que uno en: visualstudio.uservoice.com/forums/330519-team-services/…

    – Laurencee

    24 de febrero de 2016 a las 3:58

avatar de usuario
maravilla

En VS2017, puede usar la función integrada para cambiar la configuración de git para rebase: vaya a Explorador del equipo -> Hogar -> Ajustes -> Configuración global o Configuración del repositorio -> establecer Rebase rama local al tirar: Verdadero (captura de pantalla)

  • ¿Alguna idea de si hay algo que pueda verificar en el control de fuente para que esto se convierta en el valor predeterminado para otros miembros del equipo también para un repositorio en particular? ¿O tiene que compartirse a través de políticas de Visual Studio de algún tipo?

    – exclusión mutua

    2 jun 2020 a las 23:35


  • enlace de documentos: docs.microsoft.com/en-us/azure/devops/repos/git/…

    – cara boquiabierta

    6 de mayo a las 22:18

Visual Studio 2015 no admite pull+rebase. Puede lograrlo manualmente realizando una búsqueda de ‘rama’ y luego haciendo una reorganización en ‘origen/rama’. Pero no automáticamente.

Visual Studio 2017 (candidato de versión) actualmente realizará el pull+rebase si está configurado como opción predeterminada en su configuración global de git. Actualmente todavía le da una advertencia que dice “resultado de combinación inesperado”. Espero que esto se solucione antes de que salga la versión final.

  • 2015 no es compatible directamente con pull –rebase, pero sí es compatible con la reorganización en una rama remota actualizada.

    – gabeio

    11 de noviembre de 2017 a las 22:03

  • Desde la ventana de sucursales después de realizar una búsqueda.

    – jessehouwing

    11 de noviembre de 2017 a las 22:18

Abre Git Bash y pega:

git config --global branch.autosetuprebase always

Esto hará que cada futuro pull a pull --rebase.

  • Esta configuración no es compatible con la implementación del cliente Git en Visual Studio 2015.

    – jessehouwing

    18/01/2017 a las 21:20

  • Funciona para mí, aunque, si tiene cambios no comprometidos, volverá a un tirón normal. Todavía tengo que encontrar “git stash” en Visual Studio.

    – Chica Galois

    19 de enero de 2017 a las 21:58

  • Realiza un almacenamiento/desbloqueo automático al cambiar de rama. De lo contrario, no tiene soporte para stash, puede crear otra rama temporal en su lugar.

    – jessehouwing

    20 de enero de 2017 a las 5:55

  • Visual Studio ignora cualquier configuración que haya cambiado cuando se trata de extraer. Hacer una extracción sin tener ningún cambio local dará como resultado un avance rápido (por lo que no hay compromiso de fusión). Cambié la configuración que proporcionó (y configuré pull.rebase preserve también) y con los cambios locales, crea una confirmación de fusión. vs hace un pull --no-rebase cada vez que presionas sincronizar (fuente: visualstudio.uservoice.com/forums/121579-visual-studio-ide/… )

    – Fabricante de herramientas

    30 de marzo de 2017 a las 8:43


avatar de usuario
gabeio

Esto es lo más cerca que puede estar de hacer una rebase pull.

Primero haga una búsqueda en el control remoto en el que desea volver a establecer la base. No será un “pull –rebase” pero puede ir a team explorer > sucursales > controles remotos > (elija su control remoto) > haga clic con el botón derecho en la sucursal que desea rebase onto y haga clic rebase onto haga clic en rebase y básicamente ha hecho un pull/rebase en la rama remota.

(pero actualmente esta es la única forma de volver a basar en actualizaciones remotas sin ejecutar un git bash)

¿Ha sido útil esta solución?