La estantería tiene muchos usos. Los principales son:
Cambio de contexto : guardar el trabajo en su tarea actual para que pueda cambiar a otra tarea de alta prioridad. Digamos que está trabajando en una nueva función, ocupándose de su propio negocio, cuando su jefe se presenta y dice "¡Ahhh! ¡Bug Bug Bug!" y tiene que soltar sus cambios actuales en la función e ir a solucionar el error. Puede archivar su trabajo en la función, corregir el error, luego regresar y dejar de trabajar para trabajar en sus cambios más tarde.
Compartir conjuntos de cambios : si desea compartir un conjunto de códigos de cambio sin registrarlo, puede facilitar el acceso de los demás archivándolo. Esto podría usarse cuando está pasando una tarea incompleta a otra persona (pobre alma) o si tiene algún tipo de código de prueba que NUNCA verificará que alguien más necesita ejecutar. h / t a las otras respuestas sobre el uso de esto para las revisiones, es una muy buena idea.
Guardar su progreso : mientras trabaja en una función compleja, puede encontrarse en un "buen punto" donde le gustaría guardar su progreso. Este es un momento ideal para archivar su código. Supongamos que está pirateando algunos CSS / HTML para corregir errores de representación. Por lo general, lo golpeas, iterando cada posible error que puedas imaginar hasta que se vea bien. Sin embargo, una vez que se vea bien, puede intentar volver a limpiar su marcado para que otra persona pueda entender lo que hizo antes de registrarlo. En este caso, puede archivar el código cuando todo se vea bien , entonces es libre de ir y refactorizar su marcado, sabiendo que si lo rompe accidentalmente de nuevo, siempre puede regresar y obtener su conjunto de cambios.
También lo utiliza una compilación cerrada para almacenar los cambios hasta que se pueda realizar una confirmación final.
Tore Østergaard
Una cosa que noté es que los cambios de Shelving no necesariamente revierten el código, ni cambia el estado de los archivos para registrarse. Entonces, mientras está trabajando en estos, por ejemplo, cambios de errores, ¿cómo evita cometer el código de cambio de errores junto con su código archivado?
Jacques
Acabo de darme cuenta de que los archivos permanecen desprotegidos cuando selecciona la opción para preservar el conjunto de cambios localmente.
Jacques
105
El archivar es una forma de guardar todos los cambios en su caja sin registrarse. Los cambios persisten en el servidor. En cualquier momento posterior, usted o cualquiera de sus compañeros de equipo puede "quitarlos" de nuevo a cualquiera de sus máquinas.
También es excelente 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 del equipo pueden ver el conjunto de cambios y dar su opinión.
FYI: La mejor manera de revisar un conjunto de estanterías es con el siguiente comando
tfpt review / shelveset: shelvesetName; userName
tfpt es parte de las herramientas eléctricas de Team Foundation
Cabe señalar que hoy no habría razón para archivar manualmente los cambios y enviar información por correo electrónico. El proceso moderno es solicitar una revisión del código.
ChiefTwoPencils
34
Así es. Si crea un estante, otras personas que realicen una última actualización no verán su código.
Coloca los 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 su casa.
Otros pueden ver sus estantes (aunque creo que esto puede ser opcional) para que puedan revisar su código antes de registrarse.
Así es. Si crea un estante, otras personas que realicen una actualización no verán su código. Significa 1) cuando registre el código en TFS y luego, ¿el miembro de mi equipo verá el código en su sistema si obtiene la última versión? 2) Entonces, ¿por qué cuenta hemos archivado el código, de la misma cuenta solo veremos el código archivado? corrígeme si me equivoco
Krish
Puedes ver los estantes de otras personas si quieres.
teedyay
3
Para ser más precisos, "otras personas que realizan una última actualización no descargarán su código"
sergiol
18
Un punto que se pierde en muchas de estas discusiones es cómo revierte en la MISMA máquina en la que archivó sus cambios. Quizás sea obvio para la mayoría, pero no lo fue para mí. Creo que realiza un Deshacer cambios pendientes, ¿es así?
Entiendo que el proceso sea el siguiente:
Para archivar sus cambios pendientes actuales, haga clic con el botón derecho en el proyecto, Archivar, agregue un nombre de archivador
Esto guardará (o archivará) los cambios en el servidor (nadie los verá)
Luego realiza Deshacer cambios pendientes para revertir su código al último punto de registro
Luego puede hacer lo que necesita hacer con la línea de base del código revertido
Por lo tanto, si desea comenzar un trabajo que tal vez necesite archivar, asegúrese de registrarse antes de comenzar, ya que el punto de registro es el lugar al que volverá cuando realice el paso Deshacer cambios pendientes anterior.
Puede omitir el paso Deshacer cambios pendientes si desactiva la casilla de verificación "Conservar cambios pendientes localmente" al crear el conjunto de estantes.
Michael J.
14
Me encuentro con esto todo el tiempo, por lo que la información complementaria con respecto a las sucursales:
Si está trabajando con varias ramas, los conjuntos de estanterías están vinculados a la rama específica en la que los creó. Por lo tanto, si deja que un conjunto de cambios se oxida en el estante durante demasiado tiempo y tiene que retirarse a una rama diferente, debe hacerlo con la versión de julio de las herramientas eléctricas.
Este comentario es tan antiguo que se agregó antes de que se estableciera ettiquete de respuesta de desbordamiento de pila :-)
joshua.ewer
2
La archivación es como si sus cambios se hubieran almacenado en el control de origen sin afectar los cambios existentes. Significa que si registra un archivo en control de origen, modificará el archivo existente, pero dejar de lado es como almacenar sus cambios en el control de origen pero sin modificar los cambios reales.
@JaredPar: Sí, puede usar Shelvesets para las revisiones, pero tenga en cuenta que los Shelvesets pueden ser sobrescritos por usted u otros y, por lo tanto, no son estables a largo plazo. Por lo tanto, para las revisiones relevantes de regulación, nunca debe usar un Shelveset como base, sino más bien un registro (Changeset). Para una revisión informal, está bien, pero no para una revisión formal (por ejemplo, relevante para el TLC).
Si está utilizando compilaciones bloqueadas, cuando se activa una compilación, crea un conjunto de estanterías de su espacio de trabajo que se envía para la compilación. Si la compilación falla, se rechaza el conjunto de estanterías. Si la compilación es exitosa, se crea un conjunto de cambios y se compromete con TFS. En cualquier caso, la persona que realiza ese check-in / build tendrá que conciliar el espacio de trabajo, que es tan simple como realizar un Get Latest.
El archivar es una forma de guardar todos los cambios en su caja sin registrarse. Los cambios persisten en el servidor. En cualquier momento posterior, usted o cualquiera de sus compañeros de equipo puede "quitarlos" de nuevo a cualquiera de sus máquinas.
También es excelente 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 del equipo pueden ver el conjunto de cambios y dar su opinión.
FYI: La mejor manera de revisar un conjunto de estanterías es con el siguiente comando
tfpt es parte de las herramientas eléctricas de Team Foundation
fuente
Así es. Si crea un estante, otras personas que realicen una última actualización no verán su código.
Coloca los 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 su casa.
Otros pueden ver sus estantes (aunque creo que esto puede ser opcional) para que puedan revisar su código antes de registrarse.
fuente
Un punto que se pierde en muchas de estas discusiones es cómo revierte en la MISMA máquina en la que archivó sus cambios. Quizás sea obvio para la mayoría, pero no lo fue para mí. Creo que realiza un Deshacer cambios pendientes, ¿es así?
Entiendo que el proceso sea el siguiente:
Por lo tanto, si desea comenzar un trabajo que tal vez necesite archivar, asegúrese de registrarse antes de comenzar, ya que el punto de registro es el lugar al que volverá cuando realice el paso Deshacer cambios pendientes anterior.
fuente
Me encuentro con esto todo el tiempo, por lo que la información complementaria con respecto a las sucursales:
Si está trabajando con varias ramas, los conjuntos de estanterías están vinculados a la rama específica en la que los creó. Por lo tanto, si deja que un conjunto de cambios se oxida en el estante durante demasiado tiempo y tiene que retirarse a una rama diferente, debe hacerlo con la versión de julio de las herramientas eléctricas.
fuente
La archivación es como si sus cambios se hubieran almacenado en el control de origen sin afectar los cambios existentes. Significa que si registra un archivo en control de origen, modificará el archivo existente, pero dejar de lado es como almacenar sus cambios en el control de origen pero sin modificar los cambios reales.
fuente
@JaredPar: Sí, puede usar Shelvesets para las revisiones, pero tenga en cuenta que los Shelvesets pueden ser sobrescritos por usted u otros y, por lo tanto, no son estables a largo plazo. Por lo tanto, para las revisiones relevantes de regulación, nunca debe usar un Shelveset como base, sino más bien un registro (Changeset). Para una revisión informal, está bien, pero no para una revisión formal (por ejemplo, relevante para el TLC).
fuente
Si está utilizando compilaciones bloqueadas, cuando se activa una compilación, crea un conjunto de estanterías de su espacio de trabajo que se envía para la compilación. Si la compilación falla, se rechaza el conjunto de estanterías. Si la compilación es exitosa, se crea un conjunto de cambios y se compromete con TFS. En cualquier caso, la persona que realiza ese check-in / build tendrá que conciliar el espacio de trabajo, que es tan simple como realizar un Get Latest.
fuente