Estábamos trabajando en un diseño, y para eso creamos el esqueleto de las clases en nuestra rama principal. Ahora, estamos empezando a codificar, y para eso tenemos una nueva rama. Por lo tanto, sería bueno si puedo mover todos los archivos nuevos en la rama principal a la nueva rama. Sin embargo, aún no puedo registrarlos. Entonces, ¿es posible integrar la lista de cambios desprotegida? Gracias.¿Puedo integrar archivos retirados en una rama diferente en forzada
Respuesta
Nunca encontré una manera de hacerlo a la fuerza, pero puede al menos automatizarlo parcialmente.
Normalmente, cuando tengo que hacer algo así, reviso los archivos de la rama en la que quiero mover las cosas, luego uso WinMerge para modificar las ramas y copiar los cambios. Una vez hecho esto, puede revertir los cambios en la rama original y registrarlos en la nueva rama.
No es la mejor solución (sin comprobación automática/agregar/eliminar archivos en la nueva rama), pero fue el método más rápido que se me ocurrió.
La respuesta fácil es: no, no puedes. Una lectura rápida de los documentos de Perforce no resultó con una cita lista para esto, desafortunadamente, pero en mi experiencia, cualquier intento de quitar la alfombra de debajo del servidor Perforce hará que se pierdan sus cambios, lo que lo dejará descontento. camper.
Realice una copia de seguridad, cree un área de trabajo nueva en la nueva rama y vuelva a aplicar los cambios, tal vez utilizando la estrategia diff/merge descrita en la respuesta de Herms.
No realmente.
Puede, por supuesto, simplemente abrir los archivos para editar en la nueva bifurcación y copiar manualmente los archivos cambiados del área de trabajo de su rama principal al espacio de trabajo de la nueva sucursal. Esta es probablemente la forma más fácil si solo se trata de unos pocos archivos.
Here son algunas secuencias de comandos que pueden ser útiles si se trata de una gran cantidad de archivos. P. ej., Con el script P4Shelf puede crear un archivo de todos sus archivos modificados y luego abrirlos automáticamente en cualquier rama con los cambios restaurados.
Además, echa un vistazo a other nifty scripts para Perforce por Jim Tilander.
El sitio web de soporte de Perforce explica cómo hacerlo: Perforce Knowledge Base: Branching work in progress. Sería más agradable si fuera un solo paso que no requiriera ejecutar ocho comandos diferentes.
Esta es la respuesta correcta: lo he hecho y es muy fácil. –
@ user38703: márquelo como la respuesta correcta si lo es. –
Me sorprende que git se vuelva flojo por ser "difícil de usar" cuando el equivalente en p4 de "git rebase" es de unos 15 comandos. – RJFalconer
Desde el lanzamiento 2013.1, la forma de trabajo de la bifurcación en progreso es shelve
el trabajo y unshelve
en la sucursal. En detalle:
Dejar de lado los cambios pendientes:
$ p4 shelve ... Change 182535 created with 10 open file(s). Shelving files for change 182535. edit //info.ravenbrook.com/project/mps/master/code/arenavm.c#26 # etc.
Unshelve ellos en la rama (usando la opción
-b
, que mapea el nombre del archivo a través de una especificación de rama):$ p4 unshelve -b mps/branch/2013-06-05/diag -s 182535 ... //info.ravenbrook.com/project/mps/branch/2013-06-05/diag/code/arenavm.c - must resolve //info.ravenbrook.com/project/mps/master/code/[email protected]=182535 before submitting # etc.
Resuelva cualquier fusión resultante de
unshelve
, usandop4 resolve -as
para hacer rápidamente las "seguras", y luego doi ng el resto conp4 resolve
como de costumbre.$ p4 resolve -as //gdr-peewit/info.ravenbrook.com/project/mps/branch/2013-06-05/diag/code/arenavm.c - copy from //info.ravenbrook.com/project/mps/master/code/arenavm.c # etc. $ p4 resolve No file(s) to resolve.
(La salida del ejemplo es un caso de uso real, me encontré hace un momento.)
reformular respuesta Gareth Rees anteriormente en términos simples,
p4 unshelve -b target_branchspec -s changelist
:)
- 1. Git: 1.List todos los archivos en una rama, archivos 2.compare de diferente rama
- 2. exportar html rama diferente
- 3. En git, ¿cómo elimino una confirmación de una rama y la aplico a una rama diferente?
- 4. Cómo crear la rama a partir de una confirmación específica en una rama diferente
- 5. cómo encontrar archivos en una rama determinada
- 6. Cómo cambiar a una rama remota diferente en git
- 7. ¿Cómo puedo integrar Oracle BI en una aplicación existente?
- 8. ¿Puedo desmantelar una sucursal diferente en tfs 2008?
- 9. Confirmar cambios en una rama diferente a la rama actualmente desprotegida con subversión
- 10. rama SVN de una rama
- 11. git eliminar archivos de una sola rama
- 12. ¿Cómo puedo integrar Moose en Komodo?
- 13. Al usar git, ¿cómo mueves algunos cambios no confirmados de una rama a otra rama en una carpeta diferente?
- 14. ¿Cómo puedo integrar un 304 en Django?
- 15. ¿Cómo puedo integrar Radar Overlay en MapView?
- 16. ¿Cómo fusionar una rama a otra rama en GIT?
- 17. Perforce, ¿cómo integrar un cambio a otra rama?
- 18. ¿Cómo puedo integrar el token django csrf directamente en HTML?
- 19. exportar un archivo desde una rama diferente de git
- 20. git: sustituir carpeta con la misma carpeta en una rama diferente
- 21. Bloquear una rama en forzosamente?
- 22. Los archivos modificados en una rama git se están extendiendo a otra rama
- 23. ¿Existe una forma más rápida de integrar una rama de características?
- 24. ¿Puedo editar con seguridad un archivo renombrado de manera forzada?
- 25. ¿Puedo hacer cumplir una rama de solo fusión en git?
- 26. ¿Cómo puedo crear una rama en svn usando SharpSVN
- 27. ¿Cómo puedo integrar XElements en literales XML en VB.NET?
- 28. Algoritmo para encontrar agregados elementos/retirados de una matriz
- 29. ¿Cómo puedo archivar una rama arbitraria?
- 30. Cómo comprometer mis cambios actuales a una rama diferente en git
Vea el enlace anterior sobre el trabajo de bifurcación en progreso. –