Comando Merge
Il comando merge consente di applicare le modifiche da una creazione di un ramo a un'altra.
Nota
I risultati di questo comando non risulteranno disponibili nel server Controllo della versione di Team Foundation finché non verrà eseguita un'operazione di archiviazione. Per ulteriori informazioni, vedere Archiviare modifiche in sospeso.
Autorizzazioni necessarie
Per utilizzare il comando merge, è necessario disporre dell'autorizzazione Estrai impostata su Consenti per la cartella dell'area di lavoro contenente la destinazione e disporre dell'autorizzazione Lettura impostata su Consenti per la cartella dell'area di lavoro contenente l'origine. Per ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.
tf merge [/recursive] [/force] [/candidate] [/discard]
[/version:versionspec] [/lock:none|checkin|checkout] [/preview]
[/baseless] [/nosummary] [/noimplicitbaseless] [/conservative] [/format:(brief|detailed)] [/noprompt] [/login:username,[password]] source destination
Parametri
Argomento |
Oggetto di descrizione |
---|---|
versionspec |
Fornisce un valore, ad esempio C2, per l'opzione /version. Per ulteriori informazioni sul tipo di analisi eseguito da Team Foundation sulla specifica di una versione per determinare gli elementi all'interno dell'ambito, vedere Sintassi della riga di comando (controllo della versione). |
source |
Indica il file o la cartella che funge da origine dell'operazione di unione. |
destination |
Indica il file o la cartella che funge da destinazione dell'operazione di unione. |
username |
Fornisce un valore all'opzione /login. È possibile specificare un valore username come DOMINIO\NomeUtente o NomeUtente. |
Opzione |
Oggetto di descrizione |
---|---|
/recursive |
Associa l'elemento source specificato nella directory corrente e nelle eventuali sottocartelle. |
/force |
Ignora la cronologia delle operazioni di unione e unisce le modifiche specificate dall'origine alla destinazione, anche se alcune o tutte le modifiche sono già state unite in precedenza. |
/candidate |
Visualizza un elenco di tutti gli insiemi di modifiche dell'origine non ancora uniti nella destinazione. L'elenco deve includere l'ID dell'insieme di modifiche non unito e altre informazioni di base su tale insieme. |
/discard |
Non esegue l'operazione di unione, ma aggiorna la cronologia delle operazioni di unione in modo da tenere traccia delle operazioni eseguite. Ignora l’utilizzo di un insieme di modifiche per una particolare unione. |
/version |
Per eseguire un'unione selettiva, questa opzione consente di specificare l'intervallo da unire nella destinazione. Per un'operazione di unione globale, questo parametro indica la versione a partire dalla quale è necessario unire tutte le modifiche non unite. Per eseguire un'unione selettiva, l'intervallo di versioni determina i punti iniziale e finale del set di modifiche da unire. Ad esempio, se si tenta di unire l'intervallo di versioni 4~6, verranno uniti gli insiemi di modifiche per le versioni 4, 5 e 6. |
/lock |
Specifica un tipo di blocco o rimuove un blocco da un elemento. Per ulteriori informazioni, vedere Informazioni sui tipi di blocco. Opzioni di blocco:
|
/preview |
Visualizza un'anteprima dell'operazione di unione. |
/baseless |
Esegue un'operazione di unione senza disporre di una versione di base. Consente pertanto all'utente di unire file e cartelle che non hanno una relazione di unione. Dopo un'unione senza base, viene stabilita una relazione di unione e le future operazioni di unione non saranno senza base. ![]()
Le unioni baseless non possono eliminare file nella destinazione.È possibile trasferire manualmente tali modifiche.
|
/noimplicitbaseless |
Specifica che Team Foundation non esegue un'unione senza base implicita tra due elementi che hanno lo stesso nome relativo in due strutture ad albero del controllo della versione non correlate. |
/nosummary |
Consente di omettere un riepilogo dei conflitti, degli errori e degli avvisi. |
/noprompt |
Non vengono visualizzati prompt che richiedono l'input da parte dell'utente. |
/conservative |
Comporta più conflitti quando vengono uniti due rami. |
/format |
Consente di specificare i formati del riepilogo dei conflitti di unione:
Nota Questa opzione si applica solo quando l'output contiene un riepilogo di conflitti. Impossibile visualizzare il riepilogo se viene utilizzata l'opzione /nosummary o se l'unione ha causato meno di 10 conflitti, avvisi ed errori. |
/login |
Consente di specificare il nome utente e la password necessari per autenticare l'utente con Visual Studio Team Foundation Server. |
Note
Utilizzare il comando merge della riga di comando tf per applicare le modifiche apportate a una creazione di un ramo di origine a una creazione di un ramo di destinazione esistente. È possibile unire nella creazione di un ramo di destinazione una singola revisione o un insieme di modifiche completo. È possibile unire le modifiche dal ramo di origine al ramo di destinazione oppure dal ramo di destinazione al ramo di origine.
Il comando merge consente inoltre di ricercare le modifiche in una creazione di un ramo di origine di cui non è stata eseguita la migrazione nella creazione di un ramo di destinazione. Consente inoltre di indicare che alcune modifiche non verranno mai unite dall'origine alla destinazione e non verranno più visualizzate come candidati per un'operazione di unione.
Per ulteriori informazioni su come accedere all'utilità della riga di comando tf, vedere Comandi dell'utilità della riga di comando Tf.
Unione senza base
Utilizzare l'unione senza base per unire gli elementi che non sono rami diretti l'uno dell'altro. Per eseguire un'unione senza base, è necessario utilizzare il comando tf merge. Quando si esegue un'unione senza base, Team Foundation non dispone di informazioni sulla relazione dei file nelle creazioni di un ramo. In un'unione senza base, è necessario eseguire la risoluzione dei conflitti manualmente. Dopo avere eseguito l'unione senza base e risolto i conflitti, Team Foundation registra la cronologia di unione e stabilisce una relazione tra le cartelle e i file.
Quando si esegue tf merge, in Team Foundation viene eseguita un'unione senza base implicita tra due elementi che hanno lo stesso nome relativo in due strutture ad albero del controllo della versione precedentemente correlate. Ad esempio, è necessario unire le creazioni di un ramo correlate $SRC\ e $TGT. Entrambe le creazioni di un ramo contengono un file non correlato denominato a.txt. Quando si esegue tf merge, in Team Foundation viene stabilita una relazione tra i due file a.txt se i due file sono uguali, se è disabilitata la crittografia FIPS e se il file di origine non è correlato a un file nella destinazione.
Se si esegue tf merge con l'opzione /noimplicitbaseless impostata, quando Team Foundation tenta di unire i due rami, i due file a.txt creeranno un conflitto dello spazio dei nomi quando si tenta di archiviare le modifiche. Per risolvere il conflitto, è necessario rinominare uno dei file.
Esempi
L'esempio riportato di seguito consente di unire le modifiche in MyFile_beta1 non ancora unite in MyFile_RTM.
c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive
L'esempio riportato di seguito consente di unire l'insieme di modifiche 137 in branch2.
c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive
L'esempio riportato di seguito consente di unire tutte le modifiche dell'insieme di modifiche 137 in branch2.
c:\projects>tf merge /version:C137 branch1 branch2 /recursive
L'esempio riportato di seguito consente di stampare un elenco degli insiemi di modifiche di branch1 di cui non è stata eseguita l'unione in branch2.
c:\projects>tf merge /candidate branch1 branch2 /recursive
L'esempio riportato di seguito consente di stampare un elenco degli insiemi di modifiche di branch2 di cui non è stata eseguita nuovamente l'unione in branch1.
c:\projects>tf merge /candidate branch2 branch1 /recursive
L'esempio riportato di seguito consente di cancellare l'insieme di modifiche 137 dai candidati per l'unione in branch2.
c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive
Vedere anche
Attività
Risolvere conflitti tra due file
Riferimenti
Sintassi della riga di comando (controllo della versione)