2010-09-16 19 views
30

Estaba desarrollando un proyecto de equipo y de repente me di cuenta de que había hecho tantos cambios que necesitaba crear una sucursal.Sucursal desde el área de trabajo local

nunca he utilizado ramificación en TFS y cuando vi "Rama \ 'A partir de la versión de área de trabajo' Creo que eso es, lo que necesito. Sin embargo, esta opción no funciona como yo suponía.

¿Cómo puedo crear una nueva rama, desde mi "COPIA LOCAL del proyecto" e incluir todos los cambios locales "? La opción que mencioné anteriormente crea algo así como una rama de ... no sé exactamente de qué, pero lo sé con certeza, eso no desde mi versión local con todos los cambios. Como noté, la rama generada no tiene archivos y proyectos que agregué.

+0

Wow. Extraña coincidencia. Acabo de encontrar la necesidad de hacer esto también. TFS 2010 para mí. –

Respuesta

25

Lo que yo haría es:.

  • Dejar de lado su trabajo
  • rama de la carpeta fuente apropiada
  • Utilización de herramientas de TFS de energía para unshelve a una ubicación diferente
  • Fecha de

De esta manera, obtiene una buena rama limpia, y obtiene un registro de los cambios que ha realizado.

+1

El comando para el unshelve sería algo como esto -> tfpt unshelve/migrate MyShelveset/source: $ \ project \ trunk/target: $ \ project \ branch –

+1

que funciona para mí: tfpt unshelve/migrate MyShelveset "/ source: $/project/trunk ""/target: $/project/branch " – Shrike

+8

Si se imprime el mensaje" No se puede determinar el espacio de trabajo "después de ejecutar el comando tfpt, podría deberse a que uno no se encuentra actualmente en la carpeta de destino local (_cd _). – HenrikW

3

La respuesta de Robaticus es correcta, pero deseo agregar algunos detalles que no he visto explícitamente en otra parte. Simplemente tuve que hacer esto y actuó como si funcionara, pero no fue así. Pretendería automatizar o copiar, pero no se crearon archivos y no se realizaron las compras en la nueva sucursal. Se debe generar un error, pero no aparece ninguno.

Resulta que las comillas alrededor de la fuente y el destino son opcionales si las rutas no tienen espacios, pero son necesarios si existen espacios.

Aquí hay una plantilla:

tfpt unshelve MyShelfsetName /migrate "/source:$/MyPath/My Path with spaces/MyBranch" "/target:$/MyPath/My Path with spaces/MyOtherBranch" 
12
  1. descargar e instalar TFS Power Tools
  2. dejar de lado su trabajo y recordar el nombre
  3. Crear su sucursal de destino del tronco que ha estado trabajando en
  4. Asigne su nueva sucursal y obtenga una copia local del código
  5. Abra Windows PowerShell y cambie a directorio del código fuente original
  6. ejecute el siguiente comando reemplazando el Shelve establece el nombre y la estructura de directorios con su propio:

    tfpt unshelve /migrate "MyShelveset" "/source:$/project/trunk" "/target:$/project/branch" 
    

(se requieren comillas nombre aplazados si contiene espacios)

Esto debería ayudarlo a evitar algunos de los problemas que tuve cuando traté de seguir las instrucciones originales.

+1

Cambié al GIT hace mucho tiempo y no volveré a TFS, pero si hay algún consejo, podría ser útil para alguien. – Simon

0

Es posible que desee probar este: Supongo que está utilizando Eclipse IDE y TFS Plugin. Debe ser un administrador de TFS para el proyecto.

  1. Abra el proyecto en el espacio de trabajo y haga clic derecho en él
  2. que se dará cuenta de "Equipo" en el menú.
  3. seleccione "Proyecto Compartir" en el menú extendida de "Equipo"
  4. entrar equipo detalles Foundation Server para conectarlo y seleccionar la rama/Proyecto apropiada para poner los cambios. También puede crear una nueva carpeta mediante TFS Control Panel.

  5. Comparta el proyecto en la sucursal/carpeta seleccionada.

(esto es sólo ADICIÓN DE PROYECTO PARA TFS-que necesita para ENREGISTRAMIENTO NOW)

  1. clic derecho sobre el proyecto de nuevo. en el menú "Equipo" encontrará la opción de cambios de registro.
  2. haga clic en él y sus cambios serán enviados al Servidor.

¡Salud!

Cuestiones relacionadas