2009-02-17 1 views
269

¿Las estanterías en TFS son simplemente una verificación suave para que otros miembros del equipo puedan ver el código fuente?¿Qué es estanterías en TFS?

es decir, el código archivado no se compilará ¿no?

Respuesta

93

Estanterías es una forma de guardar todos los cambios en su caja sin registrarse. Los cambios se mantienen en el servidor. En cualquier momento posterior, usted o cualquiera de sus compañeros de equipo puede "desmantelarlos" en cualquiera de sus máquinas.

También es ideal para fines de revisión. En mi equipo para un registro, archivamos nuestros cambios y enviamos un correo electrónico con la descripción del cambio y el nombre del conjunto de cambios. Las personas en el equipo pueden ver el conjunto de cambios y dar su opinión.

FYI: La mejor manera de revisar un conjunto de cambios aplazados es con el siguiente comando

opinión TFPT/aplazados: shelvesetName; nomUsuario

TFPT es una parte de las herramientas de la fundación del equipo de potencia

+0

debe tenerse en cuenta que hoy no existiría ninguna razón para archivar manualmente los cambios y la información del correo electrónico. El proceso moderno es solicitar una revisión del código. – ChiefTwoPencils

30

Correcto. Si crea un estante, otras personas que hagan un get no verán su código.

Pone sus cambios de código en el servidor, que probablemente esté mejor respaldado que su PC de trabajo.

Le permite recoger sus cambios en otra máquina, si siente la necesidad de trabajar desde casa.

Otros pueden ver sus estantes (aunque creo que esto puede ser opcional) para que puedan revisar su código antes del check-in.

+0

** Eso es correcto. Si creas un estante, otras personas que hagan un get no verán tu código. ** Significa 1) cuando registraré el código en TFS, entonces mi miembro del equipo verá el código en su systen si lo va a obtener último ? 2) Entonces, ¿por qué cuenta hemos archivado el código, desde la misma cuenta solo veremos el código archivado?por favor corrígeme si estoy equivocado – Krish

+0

Puedes ver estantes de otras personas si quieres. – teedyay

+0

Para ser más precisos, "otras personas que hacen un get get ** no ** descargan ** su código" – sergiol

14

me encuentro con esto todo el tiempo, por lo que la información complementaria relacionada con ramas:

Si está trabajando con múltiples ramas, shelvesets están vinculados a la rama específico en el que los creó. Por lo tanto, si deja que un conjunto de cambios se oxide en el estante durante demasiado tiempo y tenga que retirarse de una estantería diferente, entonces tiene que hacerlo con la versión de julio de las herramientas eléctricas.

tfpt unshelve /migrate 
405

Estanterías tiene muchos usos. Los principales son:

  1. cambio de contexto: Guardar el trabajo en su tarea actual para que pueda cambiar a otra tarea de alta prioridad. Supongamos que está trabajando en una nueva función, ocupándose de su propio negocio, cuando su jefe se presenta y le dice "¡Ahhh! ¡Insecto de error de insecto!" y tiene que soltar sus cambios actuales en la función e ir a arreglar el error. Puede archivar su trabajo en la función, corregir el error, luego volver y desmantelar para trabajar en sus cambios más tarde.
  2. Sharing Changesets: si quiere compartir un conjunto de cambios de código sin registrarlo, puede facilitar el acceso de otros al archivarlo. Esto podría usarse cuando le pasas una tarea incompleta a otra persona (alma pobre) o si tienes algún tipo de código de prueba que NUNCA registrarías SIEMPRE que alguien más necesitara ejecutar. h/t a las otras respuestas sobre el uso de esto para las revisiones, es una muy buena idea.
  3. Guardando su progreso: Mientras trabaja en una función compleja, puede encontrarse en un "buen momento" en el que desea guardar su progreso. Este es un momento ideal para archivar su código. Supongamos que está pirateando CSS/HTML para corregir errores de representación. Usualmente lo golpeas, iterando cada posible kludge que puedas pensar hasta que se vea bien. Sin embargo, una vez que se ve bien es posible que desee tratar de volver a limpiar su marcado para que alguien más pueda entender lo que hizo antes de registrarlo. En este caso, puede archivar el código cuando todo se vuelva correcto. , entonces eres libre de ir y refactorizar tu marcado, sabiendo que si accidentalmente lo vuelves a romper, siempre puedes volver y obtener tu conjunto de cambios.

¿Alguna otra utilidad?

+12

Al archivar un conjunto de cambios, uno puede conservar los cambios pendientes localmente (útiles para 2 o 3) o no (útil para 1) – dumbledad

+0

La [documentación de Visual Studio en estantería] (https://docs.microsoft.com/en-us/vsts/tfvc/suspend-your-work-manage-your-shelvesets) tiene contexto adicional y cómo obtener información. –

5

Un punto que se pierde en muchas de estas discusiones es cómo se revierte en la MISMA máquina en la que ha archivado sus cambios. Quizás sea obvio para la mayoría, pero no para mí. Creo que realizas un Deshacer Cambios Pendientes, ¿es así?

entiendo que el proceso es como sigue:

  1. dejar de lado los cambios pendientes actuales, haga clic derecho en el proyecto, deja de lado, añadir un nombre estantería
  2. Esto ahorrará (o deja de lado) los cambios en el servidor (nadie va a verlas)
  3. a continuación, qué deshacer los cambios pendientes a revertir su código de nuevo a la última revisión en el punto
  4. a continuación, puede hacer lo que tiene que ver con el código revertido línea de base
  5. Puede Unshelve los cambios en cualquier momento (puede requerir cierta conflictividad de combinación)

lo tanto, si desea iniciar un trabajo que tal vez deba dejar de lado, asegurarse de que el registro de entrada antes de empezar, ya que la check-in point es donde regresarás cuando realices el paso Deshacer cambios pendientes arriba.

+0

Puede omitir el paso de deshacer cambios pendientes si desactiva la casilla de verificación "Conservar cambios pendientes localmente" al crear el conjunto de estantería. –

0

@JaredPar: Sí, puede utilizar Shelvesets para las revisiones, pero tenga en cuenta que los conjuntos de estantes pueden ser sobrescritos por usted/los demás y, por lo tanto, no son estables a largo plazo. Por lo tanto, para las revisiones regulatorias relevantes nunca se debe usar un Shelveset como base sino como un checkin (Changeset). Para una revisión informal, está bien, pero no para una revisión formal (por ejemplo, FTA pertinente).

0

Si está utilizando versiones compiladas, cuando se activa una compilación, crea un conjunto de estantes de su área de trabajo que se envía para compilación. Si la construcción falla, el conjunto de armarios es rechazado. Si la construcción es exitosa, se crea un conjunto de cambios y se compromete con TFS. En cualquier caso, la persona que realiza el check-in/build tendrá que conciliar el espacio de trabajo, que es tan simple como realizar un Get Latest.

2

Estanterías es como si sus cambios se hubieran almacenado en el control de origen sin afectar los cambios existentes. Significa que si ingresas un archivo en el control de fuente, modificará el archivo existente, pero guardarlo como almacenar tus cambios en el control de la fuente pero sin modificar los cambios reales.

Cuestiones relacionadas