¿Cómo puedo bloquear siempre el checkin de un archivo específico en TFS
Hay un archivo en el que siempre he hecho cambios, pero que nunca quiero que se registre. Me gustaría que TFS me bloqueara de registrarlo o confirmar los cambios. ¿Cómo puedo configurar TFS para hacer esto?
Detalles: Hay otro desarrollador en el proyecto que ha comprobado un código defectuoso que prefiero comentar en mi máquina local. Ya que son un cliente, prefiero mantener este un ejercicio técnico en lugar de hacer política.
8 answers
Una de las entidades infravaloradas de TFS es camuflaje. Al igual que SVN ignore
, la ocultación le permitirá ignorar una determinada carpeta o archivos.
Encubriendo una carpeta
Ocultar una carpeta es fácil: simplemente haga clic derecho en una carpeta en el explorador de control de código fuente y seleccione Cloak
Encubriendo un archivo
La interfaz de usuario no expone el ocultamiento en un solo archivo, pero a veces es posible que desee ocultar un archivo determinado como app.config
.
Ir a
File
>Source Control
>Workspaces
Selecciona tu espacio de trabajo y haz clic en
Edit
.Debajo de las carpetas de trabajo, y una nueva entrada con status
Cloaked
e ingrese la ruta completa del servidor del archivo que desea ocultar. (E. g.:$/MyTeamProject/Dev/Src/SomeProject/app.config
)
Usando el Espacio de Trabajo Local .archivo tfignore (En TFS 2012, 2013, 2015 y arriba)
En Espacio de trabajo local , use puede usar .tfignore
archivo (el equivalente de .gitignore
para Git)
.tfignore file example
######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
#
# Ignore .txt files in this folder
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll
Bloqueo por permisos
Otro enfoque es denegar el check-in en el archivo (requiere privilegios administrativos):
Haga clic derecho en el archivo > haga clic
Properties
>Security
Añade tu usuario y marca
Deny
en el permisoCheck In
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-22 20:44:57
Para TFS 2012, simplemente use el .tfignore archivo.
Cuando se agregan archivos ignorados a carpetas que se asignan en un local espacio de trabajo, no aparecen en la página Cambios pendientes en Equipo Explorador.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-02 20:10:24
Visual Studio 2013 (y 2012)
Esta función está disponible seleccionando el archivo (s) y yendo a:
File > Source Control > Advanced > Exclude ... from Source Control
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-23 03:50:17
Hay 2 maneras.
- Puede "Desmarcarlo" en la ventana "Cambios pendientes", debería recordarlo la próxima vez que cargue Visual Studio. Esto es un poco engorroso si desea "seleccionar todo" y Marcar/Desmarcar los elementos de la lista y propenso a errores.
- No "compruebe" el archivo, vaya al Explorador y elimine el atributo de solo lectura usted mismo. A continuación, edite los bits que desee. La advertencia es que TFS no lo sabe y no siempre actualiza el archivo correctamente. Además, si edita ese archivo en VS (para otro cambio), se "comprobará" y luego puede comprobarlo por error.
No me gusta ninguna opción en TFS / VS 2010, así que en realidad evité hacer esto (solía tener un gran "ignore-on-commit" cuando usábamos SVN). Ahora estoy usando VS11 Beta, la lista Excluida hace exactamente lo que quiero, muevo algo a él y se queda allí, y puedo poner fácilmente otros cambios dentro y fuera de esa lista y no verificar ese archivo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-16 18:00:24
Solo puede excluir el archivo del Control de código fuente
1. Seleccione el archivo en el Explorador de soluciones
2. Vaya a Archivo - > Control de código fuente - > Avanzado
Y aquí está
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-26 08:22:20
Otra opción es usar una política de registro personalizada. Puede construir su propio o usar Forbidden Patterns Policy desde TFS 2010 Power Tools. Por supuesto que tendría que ser un administrador de TFS para instalarlo y podría no ser lo que desea en su situación. También cualquier política de check - in puede ser anulada.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-17 19:52:58
Si está utilizando el tipo de espacio de trabajo "Local", que es nuevo en TFS 2012, sus archivos controlados por el código fuente no están configurados como "solo lectura" en absoluto. Pero en este caso, no importa dónde los edite, TFS los ve como modificados e incluidos en los cambios pendientes. Sería genial tener opción como "auto-exclude" de los cambios pendientes por defecto. E inclúyelos solo cuando quieras esto.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-19 13:51:16
Las carpetas ocultas nunca se detectan como un cambio por TFS use esta función si está utilizando VS2010. La carpeta que no desea formar parte de TFS la marca como oculta.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-03 21:31:10