Proyecto de actualización de Android Studio: Combinar vs Rebase vs Subdirección predeterminada

Disculpas si esto parece redundante, como sé que hay una buena cantidad de preguntas con respecto a Merge vs Rebase, pero no parece haber ninguno que arrojar en 'Branch Default' también.

Se le da un caso en el que tiene varias personas trabajando en algo (es decir, una aplicación de Android en Android Studio) al mismo tiempo. ¿Cuál es la mejor opción para actualizar el proyecto / pull si alguien empuja a la sucursal maestra y desea insertar el nuevo maestro de tal forma que no sobrescriba el trabajo en el que todavía está trabajando y que aún tiene que cometer y empujar al maestro? Android Studio muestra 'Merge' 'Rebase' y 'Branch Default' al hacer clic en 'Update Project'. De lo que suena, me gustaría hacer 'Rebase' (seguido de 'Merge'?), Pero no estoy completamente seguro.

Stashing

La clave aquí es que usted tiene el trabajo que no desea confirmar que desea guardar. Antes de intentar combinar algo, debe guardar los cambios para guardar los cambios no confirmados y limpiar su directorio de trabajo.

Ejecute git stash para almacenar sus cambios. A continuación, debe ser capaz de tirar de los cambios sin ningún problema.

Después de haber tirado con éxito, puede hacer un git stash apply para volver a aplicar los cambios que había hecho antes de la atracción.

Fusión y renovación

Stashing sus cambios sólo funciona si sólo tiene cambios no confirmados . Si en algún momento te comprometiste pero no te empujas necesitas rebajar o fusionar.

Esta publicación StackOverflow tiene una gran información sobre las diferencias.

En general, la fusión es más fácil, pero algunos creen que "contamina" la historia git con la fusión se compromete.

Rebasing requiere trabajo adicional, pero como no tiene un commit de combinación, esencialmente hará que la fusión sea invisible.

Una vez más, en su caso no debería necesitar fusionarse o rebase. Basta con guardar, tirar, luego aplicar el escondite y todo debe ser bueno.

No pude encontrar la respuesta a esta pregunta (es decir, el flujo de trabajo) en ninguno de los documentos de Google … así que aquí está mi experiencia práctica usando Android Studio y Git completamente desde una interfaz de usuario.

(Vomito con la idea de cambiar entre la línea de comandos y el IDE – significa que el IDE está faltando!)

  1. Stash sus cambios con: Haga clic derecho Proyecto -> Git -> Repositorio -> Stash cambios. Dale un nombre.
  2. Tire de las actualizaciones que su colega hizo con: Proyecto de clic derecho -> Git -> Repositorio -> Pull
  3. Combine sus cambios de código con: Haga clic derecho Proyecto -> Git -> Repositorio -> UnStash Cambios -> Aplicar Stash
  4. A continuación, verá una interfaz de usuario "Archivos fusionados con conflictos". Aquí es donde se selecciona un archivo y se fusiona selectivamente.

ADVERTENCIA

La interfaz de mezcla de combinaciones manuales "Merge Revisions" es TERRIBLE . Una vez que lo intente, verá lo que quiero decir. Buena suerte tratando de conseguir "Synchronize Scrolling" para que realmente funcione. Espero sinceramente que esta IU se dirija dentro de las primeras semanas de 2015.

Introduzca aquí la descripción de la imagen

De acuerdo con la documentación IntelliJ IDEA:

Tipo de actualización

  • Combinar : elija esta opción para aplicar la estrategia de combinación. El resultado es idéntico al de ejecutar git fetch ; git merge git fetch ; git merge o git pull --no-rebase .
  • Rebase : elija esta opción para aplicar la estrategia de rebase. El resultado es idéntico al de ejecutar git fetch ; git rebase git fetch ; git rebase o git pull --rebase .
  • Rama predeterminada : seleccione esta opción para que el comando predeterminado para la rama se aplique. El comando predeterminado se especifica en la branch.<name> la branch.<name> archivo de configuración .git/config .

Limpiar el árbol de trabajo antes de actualizar

En esta área, especifique el método para guardar los cambios mientras limpia el árbol de trabajo antes de actualizar. Los cambios se restaurarán una vez finalizada la actualización. Las opciones disponibles son:

  • Uso de Stash : elija esta opción para que los cambios se guarden en un stash de Git, por lo que puede aplicar parches que se han cambiado incluso fuera de IntelliJ IDEA, porque son generados por el propio Git. Utilizando
  • Estante : elija esta opción para tener los cambios guardados en una estantería. La estantería es una operación interna de IntelliJ IDEA, los parches generados a partir de los cambios estancados se aplican normalmente (no recuperados) dentro de IntelliJ IDEA. La aplicación de cambios pendientes fuera de IntelliJ IDEA también es posible pero requiere pasos adicionales.
  • Unir las sucursales en git en Android Studio
  • Ver los cambios en las fuentes de la Biblioteca de soporte de Android entre dos versiones
  • ¿Cómo clonar un repositorio git remoto con Android Studio?
  • Cómo compilar la biblioteca de bifurcación en Gradle?
  • La sincronización Repo falla al inicializar el árbol de trabajo CM13
  • Bitbucket con android: error "No se puede publicar parte del repositorio"
  • Dependencia de Gradle que causa error "Número mágico inválido"
  • Android Studio Project dice que el proyecto ya está en GitHub a pesar de que he eliminado el repositorio.
  • Incrementa el número de compilación de Android en Integración continua
  • Dificultad para importar el facebook-android-sdk en eclipse
  • ¿Debo crear una sucursal para la versión gratuita de mi aplicación para Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.