Accediendo al código entre sucursales con VS2015 simultáneamente

Codigo en Visual Studio 2015 con integración git. Muchas veces, necesito ver código de diferentes sucursales locales para poder analizar partes de código de cada twig al mismo time y copyr y pegar fácilmente código entre twigs simultáneamente. Esto es diferente de fusionar los cambios existentes de una twig a otra. Necesito la capacidad de tener 2 sucursales separadas abiertas en mi pantalla al mismo time.

Visual Studio tiene la capacidad de cambiar entre las twigs de git, pero una vez que lo haces, todos los Visual Studio abiertos que acceden a la carpeta git también cambian.

Busqué y encontré una solución, pero no es óptima: compruebe todo y luego duplique el tree fuente un nivel por encima de su directory .git. Abra un Visual Studio en la solución del directory original y luego abra una segunda instancia de Visual Studio en la solución en el directory copydo. Cada uno es independiente el uno del otro y puede tener diferentes twigs abiertas en un Visual Studio sin afectar el comportamiento del otro Visual Studio.

¿Alguien tiene una solución a este problema que no involucre 2 copys del código fuente?

Git 2.5 finalmente tiene una respuesta para esto, una característica llamada Git WorkTree.

https://git-scm.com/docs/git-worktree

Un repository de git puede admitir múltiples treees de trabajo, lo que le permite ver más de una twig a la vez. Con git worktree agregar un nuevo tree de trabajo está asociado con el repository. Este nuevo tree de trabajo se denomina "tree de trabajo vinculado" en oposition al "tree de trabajo principal" preparado por "git init" o "git clone". Un repository tiene un tree de trabajo principal (si no es un repository desnudo) y cero o más treees de trabajo vinculados.

add path [branch] Crea una ruta y una ramificación en ella. El nuevo directory de trabajo está vinculado al repository actual, compartiendo todo, excepto los files específicos del directory de trabajo, como HEAD, index, etc., también se puede especificar como; es sinónimo de @ {- 1}.

¿Alguien tiene una solución a este problema que no involucre 2 copys del código fuente?

No, pero hay una solución viable (IMO) con dos copys del código.

Primero, supongo que tienes algún repository centralizado que clonaste localmente. Y desde su clon local, tiene dos twigs de funciones (llamémoslas FeatureA y FeatureB ). Cuando pueda, clone su repository local en una carpeta separada. En ese nuevo clon, checkout branch FeatureB . En el clon original (el clon de tu server centralizado), consulta la twig FeatureA . Ahora puede hacer las comparaciones que desee, aunque con dos copys del código.

Esto no requerirá que revises cualquier trabajo que estés haciendo en cualquiera de las copys del código.