Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
È possibile condividere il lavoro in un ramo repository Git locale caricando le modifiche in un repository remoto a cui altri utenti possono accedere. Il comando git push carica nuovi commit dal ramo locale al ramo corrispondente di un repository remoto. Visual Studio usa il comando push quando si sceglie di sincronizzare il lavoro con un repository remoto.
Per una panoramica del flusso di lavoro Git, vedere Esercitazione su Git di Azure Repos.
Eseguire il push del codice
Dopo aver aggiunto uno o più commit a un ramo locale, è possibile eseguire il push dei commit in un ramo remoto per condividere o eseguire il backup del lavoro. Quando si usa il comando push, Git verifica se il ramo locale è aggiornato con il ramo remoto. In caso contrario, Git impedirà di eseguire il push di nuovi commit fino a quando non è stato aggiornato il ramo locale. Per risolvere questo problema, è possibile eseguire il pull per ottenere i commit dei rami remoti che non sono presenti nel ramo locale. Se i commit remoti estratti sono in conflitto con i commit locali, provare a risolvere tali conflitti prima di eseguire il push delle modifiche.
Per il funzionamento del comando push Git, il repository locale deve essere connesso a un repository Git remoto. Se il repository locale è stato clonato da un repository remoto, questi sono già connessi. Tuttavia, se il repository locale è stato creato senza clonazione, sarà necessario connetterlo a un repository Git ospitato. Per altre informazioni, vedere Connessione a un repository Git di Azure Repos e Connessione a un repository GitHub.
Suggerimento
Per supportare una revisione delle richieste pull del lavoro, evitare di lavorare direttamente nel main ramo del repository locale. Salvare invece i commit in un ramo di funzionalità locale o in un ramo di correzione di bug ed eseguire il push di tale ramo al completamento del lavoro. Per una panoramica del flusso di lavoro Git, vedere Esercitazione su Git di Azure Repos.
Visual Studio 2022 offre un'esperienza di controllo della versione Git usando il menu Git, Le modifiche Git e tramite i menu di scelta rapida in Esplora soluzioni. Visual Studio 2019 versione 16.8 offre anche l'interfaccia utente Git di Team Explorer . Per altre informazioni, vedere la scheda Visual Studio 2019 - Team Explorer .
Nella finestra Modifiche Git selezionare il pulsante di pressione della freccia su per eseguire il push del commit.
In alternativa, è possibile eseguire il push delle modifiche dalla finestra Repository Git. Per aprire la finestra Repository Git, selezionare il collegamento in uscita/in ingresso nella finestra Modifiche Git.
In alternativa, è possibile eseguire il push delle modifiche dal menu Git sulla barra dei menu.
Visual Studio 2019 offre un'esperienza di controllo della versione Git usando il menu Git, Le modifiche Git e i menu di scelta rapida in Esplora soluzioni.
Nella finestra Modifiche Git selezionare il pulsante di pressione della freccia su per eseguire il push del commit.
In alternativa, è possibile eseguire il push delle modifiche dalla finestra Repository Git. Per aprire la finestra Repository Git, selezionare il collegamento in uscita/in ingresso nella finestra Modifiche Git.
In alternativa, è possibile eseguire il push delle modifiche dal menu Git sulla barra dei menu.
Visual Studio 2019 versione 16.8 e versioni successive offre un'esperienza di controllo della versione Git mantenendo al tempo stesso l'interfaccia utente git di Team Explorer . Per usare Team Explorer, deselezionare Strumenti>Opzioni>anteprima Funzionalità>Nuova esperienza utente Git dalla barra dei menu. È possibile usare le funzionalità Git da entrambe le interfacce in modo intercambiabile.
In Team Explorer selezionare Home e quindi scegliere Sincronizza per aprire sincronizzazione.
È anche possibile passare alla visualizzazione Sincronizzazione da Modifiche scegliendo Sincronizza immediatamente dopo aver eseguito un commit.
Nella visualizzazione Sincronizzazione scegliere Push per caricare il commit nel repository remoto. Se si tratta del primo push nel repository, verrà visualizzato il messaggio : The current branch does not track a remote branch..., che indica che è stato eseguito il push del commit in un nuovo ramo nel repository remoto e che i commit futuri inviati dal ramo corrente verranno caricati in tale ramo remoto.
Anche se raramente è necessario eseguire il push di un ramo locale in un ramo remoto denominato in modo diverso, è possibile farlo usando il comando git push non corretto:
Per eseguire il push di nuovi commit dal ramo locale a un ramo remoto con lo stesso nome, eseguire il comando push semplificato seguente. Se il repository remoto non dispone di un ramo con lo stesso nome, questo comando creerà un nuovo ramo remoto con lo stesso nome e commit del ramo locale.
git push <remote repo> <local branch name>
Quando si clona un repository remoto, Git assegna l'alias origin come abbreviato per l'URL del repository remoto clonato. Eseguire git remote -v per controllare il valore dell'alias origin . Per aggiungere manualmente l'alias origin , eseguire git remote add origin <remote repo url>. Con l'alias origin è possibile semplificare ulteriormente il comando push:
git push origin <local branch name>
Per eseguire il push di nuovi commit dal ramo locale corrente a un ramo remoto con lo stesso nome, eseguire il comando push semplificato seguente. Se il repository remoto non ha un ramo con lo stesso nome, questo comando avrà esito negativo.
git push origin
Se il ramo locale corrente tiene traccia di un ramo remoto in origin, è possibile abbreviare completamente il comando push:
git push
Tuttavia, il comando push completamente abbreviato avrà esito negativo se il ramo locale non tiene traccia di un ramo remoto. Eseguire git remote show origin per controllare lo stato rilevato dei rami. Per eseguire il push e impostare il ramo locale corrente per tenere traccia del ramo remoto con lo stesso nome in origin, eseguire git push --set-upstream origin <local branch name> una sola volta. Il --set-upstream flag creerà un ramo remoto con lo stesso nome, se non esiste.
È pratica comune quando si lavora su un ramo di funzionalità locale (o di correzione di bug), per aggiornare periodicamente il ramo con le modifiche più recenti dal main ramo. A seconda del modo in cui si esegue questa operazione, le cronologie di commit locali e remote per il ramo di funzionalità potrebbero divergere in modo che il comando git push restituisca un errore. Se si è l'unico utente che esegue il push nel ramo di funzionalità remoto e si è certi che il ramo di funzionalità locale contenga tutto il lavoro necessario, è possibile usare il comando push Git con il --force flag per sostituire tutti i commit nel ramo di funzionalità remota con i commit dal ramo di funzionalità locale. Per altre informazioni sul comando git push, incluse altre force opzioni, vedere il manuale di riferimento git.
Dopo aver eseguito il push dei commit, è possibile creare una richiesta pull per comunicare ad altri utenti che si vogliono rivedere le modifiche. Se approvate, le modifiche verranno unite in un ramo di destinazione del repository remoto.