Supponiamo che qualche sviluppatore del mio team abbia accantonato le sue modifiche che ha fatto nel ramo A. E sto lavorando sul ramo B. Posso annullare le sue modifiche nel ramo B? (Dalla GUI o dal prompt dei comandi)Posso unshelve su un ramo diverso in tfs 2008?
risposta
Il Visual Studio Power Tools dovrebbe consentire di fare questo.
C:\src\2\Merlin\Main>tfpt unshelve /?
tfpt unshelve - Unshelve into workspace with pending changes
Allows a shelveset to be unshelved into a workspace with pending changes.
Merges content between local and shelved changes. Allows migration of shelved
changes from one branch into another by rewriting server paths.
Usage: tfpt unshelve [shelvesetname[;username]] [/nobackup]
[/migrate /source:serverpath /target:serverpath]
shelvesetname The name of the shelveset to unshelve
/nobackup Skip the creation of a backup shelveset
/migrate Rewrite the server paths of the shelved items
(for example to unshelve into another branch)
/source:serverpath Source location for path rewrite (supply with /migrate)
/target:serverpath Target location for path rewrite (supply with /migrate)
/nobackup Skip the creation of a backup shelveset
Ad esempio, per unire una serie ripiano chiamato "Ripiano Set Name" creato su Branch1 per Branch2 utilizzare questo:
>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/"
L'informazione sullo scaffale include il percorso specifico verso cui va. Sfortunatamente non conosco alcun modo automatico di sgomberare in un luogo diverso da quello a cui è stato accantonato. Le volte in cui volevo farlo dovevo controllare i file equivalenti nel nuovo ramo, unshelve dal vecchio ramo, quindi copiare manualmente i file.
EDIT: Beh, credo che lo stavo facendo nel modo più difficile. Dovrò provare la soluzione di Curt. :)
soluzione alternativa alla tfpt che evita di dover unire ciascun file manualmente
Il problema con lo strumento di alimentazione tfs è you're doing a 'baseless merge' so have to confirm every file. Avevo uno scaffale di oltre 800 file e non mi fido mai del pulsante 'auto merge' e non volevo passare da un file all'altro - quindi ho dovuto trovare un altro modo!
- Scaricare e installare il TFS Shelveset Sidekick. appare
- Lo strumento sotto 'Strumenti' in VS2010
- Eseguire lo strumento 'shelveset Sidekick', fare clic su Cerca per visualizzare shelvesets
- Fare clic destro sul vostro shelveset e selezionare 'Esporta shelveset'
- Salva in una posizione vuota come ad esempio
C:\temp\shelveset-name
- Ora hanno una struttura completa directory contenente solo i nuovi file
(Nota: non c'è barra di avanzamento durante l'esportazione - quindi se avete una grande shelveset che richiede molto ti per esportare devi solo controllare in Windows Explorer (File> Proprietà> Dimensione) che i file stanno ancora scendendo se pensi che sia congelato).
Ora è sufficiente copiarli sul nuovo ramo con Windows Explorer.
questo ha funzionato per me:
- Verificando l'intera soluzione prima (nella nuova filiale)
- Chiudi quella soluzione
- Prendere TFS in linea dall'interno VS (Tool to do this) - vedi sotto per perché questo è importante ...
- Copia i file in Windows Explorer. La struttura di directory in
c:\temp\shelveset-name
dovrà essere rinominata per corrispondere al nuovo ramo. Suggerimento: assicurati di copiare nel posto giusto !!! - Portare VS linea
- Dovrebbe trovare tutti i cambiamenti e aggiungere i nuovi file
- Se si chiede di impegnare la SourceControl assicurarsi di verificare il percorso è corretto per la nuova filiale.
- Test - e poi check-nei nuovi file
Importante: Ho scoperto che se non si prendono prima TFS in linea allora si ritroverà con eventuali nuovi file (dal unshelves di modifiche) che mostra senza un piccolo segno di spunta rosso e dovrai escluderli e includerli di nuovo per farli aggiungere. Se qualcuno ha una soluzione alternativa a questo problema mi piacerebbe sapere - l'aggiornamento non sembra funzionare.
Questo metodo è più semplice per gli scaffali più grandi ed è quello che ho seguito. Grazie! – Ani
Questo metodo è davvero migliore per gli scaffali più grandi – Aamir
Bene, si può andare via senza portare TFS offline. Ma non sono sicuro che ne valga la pena. Quello che ho fatto è stato eseguire l'azione Confronto - in Esplora controllo del codice sorgente dal menu di scelta rapida aperto nella cartella pertinente. Si può filtrare l'output per mostrare solo gli elementi che sono diversi. Quindi permette di fare una selezione multipla su di loro e di controllarli tutti in una volta. Ma immagino che portare TFS offline sia più veloce e più semplice di così. – mark
Demo di comando di cui sopra: Unshelve command basics
- 1. TFS - Creazione di un ramo dalla copia di lavoro locale
- 2. Come posso spostare un ramo TFS erroneamente inserito?
- 3. TFS: sovrascrivere un ramo con un altro
- 4. Riporta il ramo TFS all'originale
- 5. Come ramo e si fondono in TFS
- 6. VS & TFS: check-in come nuovo ramo
- 7. html esporta ramo diverso
- 8. Riproduce l'ultimo N git commesso su un ramo diverso
- 9. In TFS, come posso selezionare un changeset in un ramo non correlato?
- 10. Come posso riparare un repository rotto da hg unshelve?
- 11. Come creare il ramo da commit specifico in ramo diverso
- 12. Clona da un ramo diverso dal master
- 13. Come si crea un ramo su un progetto ospitato TFS/Codeplex?
- 14. hg unshelve non funziona
- 15. Qualcuno può trovare l'opzione "Unshelve" di TFS in Visual Studio 2012?
- 16. TFS 2012 verifica se un ramo è stato unito
- 17. Posso aprire un file in un ramo diverso da quello attivo?
- 18. Trova il percorso tfs del ramo unito
- 19. TFS merge change set sul ramo principale
- 20. TFS 2010 Unisci dopo aver rinominato un ramo radice
- 21. git-TFS: A accantonato modifica in sospeso su un file è necessario
- 22. Un ramo TFS è uno snapshot fisico o logico?
- 23. Cosa fare con un ramo dopo l'unione con TFS
- 24. Ottenere il comando si blocca usando VS 2012 e TFS 2008 (TFS error TF400307)
- 25. Come posso spostare il lavoro corrente su un ramo argomento?
- 26. Git - Telecomando diverso per ogni ramo
- 27. Applicare un diff da un ramo come patch a un altro in Visual Studio TFS
- 28. Come unire un ramo ad un altro ramo in GIT?
- 29. Git to TFS 2008 migrazione unidirezionale (con cronologia)
- 30. Creazione di un ramo git basato su un altro ramo
Ooohhh ... Curt, penso che hai appena fatto il mio giorno. Dovrò provarlo più tardi. – Herms
Da dove prendi gli utensili elettrici? – Guy
Sì, gli strumenti elettrici DOVREBBE permettervi di farlo, ma sfortunatamente l'unione diventa orribilmente sbagliata ogni volta, quindi è quasi inutile. –