2012-03-23 3 views
5

Perché TFS non desidera restituirmi i miei vecchi file?Team Foundation Server unione non unione

ramo Dev enter image description here

Filiale principale enter image description here

Unione Dev Main enter image description here

Edit: Data la prima risposta di seguito e qualche altra indagine, credo che sto cercando di completare un'intera sezione di sovrascrittura. È possibile?

+0

Controlla questa domanda SO precedente: http://stackoverflow.com/questions/7510089/does-tfs-branching-have-a-child-parent-relation – pantelif

risposta

3

Questa è una buona soluzione, penso che la cosa migliore da fare sarebbe quella di ripristinare i file e le cartelle nel ramo principale. Per fare questo vai su "Strumenti", "Opzioni". La espandere "controllo del codice sorgente", selezionare "Visual Studio Team Foundation Server" e controllare

enter image description here

Questo vi permetterà di selezionare i file cancellati e utilizzare il "Undelete "Mostra elementi nel controllo del codice sorgente Explorer cancellato" "comando di farli tornare.

Tuttavia, se si desidera realmente trasferire le modifiche dal ramo dev al ramo principale, è possibile utilizzare la riga di comando per forzare TFS a eseguire l'unione.

Aprire un prompt Visual Studio 2010 dei comandi e passare per l'area di lavoro

esempio cd c:\tfs\MyLocalWorkspace

quindi utilizzare il comando "tf"

tf merge $/TeamProject/Dev $/TeamProject/Main /recursive /force

Questo costringerà TFS per unire le modifiche, anche se pensa che sono stati fusi in precedenza. Probabilmente direi che usare "undelete" è il metodo meno probabile per causare "roba straniera" in futuro.

+0

Prima di leggere questo, in realtà avevo eseguito un rollback sul ramo, univo normalmente e poi cancellato la merda extra in modo da avere risolto il mio problema Ma la tua soluzione funziona per gli scenari futuri e l'opzione "mostra cancellato .." è molto utile.Grazie. – Terry

1

Se hai eliminato i file nel ramo Principale (non chiaro dalla domanda ma in qualche modo implicito da "vecchi file indietro"), eseguire un'unione da un ramo in cui i file non sono stati eliminati non li riporterà indietro. Guarderebbe l'eliminazione come una mancanza mancante dal ramo Dev e quindi manterrà il risultato unito.

Se si desidera annullare l'eliminazione dei file, perché non lo si fa nel ramo principale?

+0

Ho eliminato i file dal ramo principale perché aveva file extra e cartelle (da un ramo più recente) che non venivano rimosse quando univo un ramo più vecchio. Ho pensato di poterli eliminare e costringere a riempire di tutto il vecchio ramo. – Terry

+0

Vedere la mia modifica nella domanda originale. – Terry

+0

@TerryR - Sarà necessario eseguire l'unione forzata dalla riga di comando come descritto nella risposta di James Reed – antlersoft