version-control tfs shelve checkin

version control - ¿Cuál es la diferencia entre shelve y check in en TFS?



version-control checkin (5)

Darcy lo tiene al tanto. También puede pensar en las estanterías como una rama privada que no es públicamente visible en su mayor parte. Shelvesets también se pueden eliminar por completo, no como eliminar el código marcado. Si elimina un archivo de fábrica, desaparecerá para siempre.

¿Cuál es el concepto de cada uno?

¿Cuándo está permitido archivar sus cambios en lugar de registrarse?


Deje de lado sus cambios cuando desee guardar los cambios que ha realizado, pero necesita volver a la versión anterior para realizar otros cambios (tal vez, correcciones de errores) que desee implementar sin las actualizaciones en las que está trabajando actualmente. Dado que generalmente se registra con bastante frecuencia, creo que es una ocurrencia rara, como la que acabo de desplegar en el cuadro de control de calidad, y se encontró un error de inmediato. Dejaré de lado los cambios de ese día y volveré a la versión implementada de QA, realizaré la actualización y luego retiraré mis cambios, fusionando los dos según sea necesario. Más allá de eso y probablemente quieras buscar una versión anterior y una rama. Sin embargo, me alegraría saber de otras experiencias en las que las estanterías han demostrado ser más útiles.


Otros usuarios pueden descargar sus shelvesets buscándolos, por lo que es una buena manera de pasar el código para revisiones. Sin embargo, recibirá un error si intenta desarchivar los archivos de código que ya ha desprotegido, por lo que necesita un entorno limpio listo.

A menudo cierro mis cambios al final del día si estoy trabajando en algo grande que no puedo controlar. De esa manera, si mi PC muere de la noche a la mañana, tengo una copia de seguridad en el servidor.


Shelved significa que los cambios están reservados para que trabajes más adelante.

Controlado significa que los cambios están disponibles para el resto del equipo, estarán en la construcción y eventualmente se enviarán.

Muy diferente. Piense en las estanterías como una herramienta para el cambio de contexto cuando no ha terminado una tarea. Verificando significa que has terminado (al menos una parte).


Todos los de arriba han dicho tanto y aprendí de ello.

Solo para agregar mi experiencia, corrígeme si estoy equivocado. En un proyecto, tenemos un archivo de configuración mypc.json específico para cada PC del desarrollador. Por lo general, lo reemplazamos cuando ejecutamos el servidor localmente. Otros miembros del equipo tienen el mismo nombre de archivo con diferentes configuraciones. Nadie quiere que su archivo sea enviado con el mismo nombre a la rama de desarrollo. Entonces uso shelve para guardar este tipo de cambios. Cada vez que necesito estas configuraciones, puedo aplicar fácilmente los cambios de shelve y las configuraciones de mi entorno vuelven a mi proyecto.