Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Du kan dela ditt arbete på en lokal Git-lagringsplats genom att ladda upp dina ändringar till en fjärrdatabas som andra kan komma åt. Git-push-kommandot laddar upp nya incheckningar från din lokala gren till motsvarande gren för en fjärrdatabas. Visual Studio använder push-kommandot när du väljer att synkronisera ditt arbete med en fjärransluten lagringsplats.
En översikt över Git-arbetsflödet finns i Självstudie om Azure Repos Git.
Push-överför koden
När du har lagt till en eller flera incheckningar i en lokal gren kan du "skicka" incheckningarna till en fjärrgren för att dela eller säkerhetskopiera ditt arbete. När du använder push-kommandot kontrollerar Git om din lokala gren är uppdaterad med fjärrgrenen. Annars hindrar Git dig från att skicka nya incheckningar tills du har uppdaterat din lokala gren. Du kan lösa det här problemet genom att hämta de fjärrgrensincheckningar som inte finns i din lokala gren. Om de hämtade fjärrincheckningarna står i konflikt med dina lokala incheckningar kan du försöka lösa dessa konflikter innan du push-överför ändringarna.
För att Git-push-kommandot ska fungera måste din lokala lagringsplats vara ansluten till en fjärransluten Git-lagringsplats. Om du klonade din lokala lagringsplats från en fjärrdatabas är de redan anslutna. Men om du har skapat din lokala lagringsplats utan kloning måste du ansluta den till en värdbaserad Git-lagringsplats. Mer information finns i Anslut till en Git-lagringsplats för Azure Repos och Anslut till en GitHub-lagringsplats.
Dricks
Undvik att arbeta direkt i den main lokala lagringsplatsens gren för att stödja en granskning av pull-begäranden. Spara i stället dina incheckningar till en lokal funktionsgren eller bugfix-gren och push-överför grenen när arbetet är klart. En översikt över Git-arbetsflödet finns i Självstudie om Azure Repos Git.
Visual Studio 2022 tillhandahåller en Git-versionskontroll med hjälp av Git-menyn , Git-ändringar och snabbmenyer i Solution Explorer. Visual Studio 2019 version 16.8 erbjuder även Användargränssnittet för Team Explorer Git. Mer information finns på fliken Visual Studio 2019 – Team Explorer .
I fönstret Git-ändringar väljer du upppilens push-knapp för att push-överföra incheckningen.
Eller så kan du push-överföra dina ändringar från Git-lagringsplatsens fönster. Öppna fönstret Git-lagringsplats genom att välja länken utgående/inkommande i fönstret Git-ändringar.
Eller så kan du push-överföra ändringarna från Git-menyn på menyraden.
Visual Studio 2019 tillhandahåller en Versionskontroll för Git med hjälp av Git-menyn , Git-ändringar och snabbmenyer i Solution Explorer.
I fönstret Git-ändringar väljer du upppilens push-knapp för att push-överföra incheckningen.
Eller så kan du push-överföra dina ändringar från Git-lagringsplatsens fönster. Öppna fönstret Git-lagringsplats genom att välja länken utgående/inkommande i fönstret Git-ändringar.
Eller så kan du push-överföra ändringarna från Git-menyn på menyraden.
Visual Studio 2019 version 16.8 och senare versioner ger en Git-versionskontroll samtidigt som du underhåller Git-användargränssnittet för Team Explorer . Om du vill använda Team Explorer avmarkerar du Verktyg>Alternativ>Förhandsgranskning Funktioner>Ny Git-användarupplevelse från menyraden. Du kan använda Git-funktioner från något av gränssnitten på ett och samma sätt.
I Team Explorer väljer du Start och sedan Synkronisera för att öppna Synkronisering.
Du kan också gå till synkroniseringsvyn från Ändringar genom att välja Synkronisera direkt efter en incheckning.
I vyn Synkronisering väljer du Push för att ladda upp incheckningen till fjärrdatabasen. Om det här är din första push-överföring till lagringsplatsen visas meddelandet : The current branch does not track a remote branch..., som meddelar dig att incheckningen har push-överförts till en ny gren på fjärrplatsen och att framtida incheckningar som skickas från den aktuella grenen laddas upp till den fjärrgrenen.
Även om du sällan behöver push-överföra en lokal gren till en annan fjärrgren, kan du göra det med hjälp av det ej förkortade Git-pushkommandot:
Om du vill skicka nya incheckningar från din lokala gren till en fjärrgren med samma namn kör du följande förenklade push-kommando. Om fjärrdatabasen inte har en gren med samma namn skapar det här kommandot en ny fjärrgren med samma namn och incheckningar som din lokala gren.
git push <remote repo> <local branch name>
När du klonar en fjärransluten lagringsplats tilldelar Git aliaset origin som en förkortning för URL:en för den fjärrdatabas som du klonade. Kör git remote -v för att kontrollera origin aliasvärdet. Om du vill lägga till aliaset origin manuellt kör du git remote add origin <remote repo url>. Med aliaset origin kan du förenkla push-kommandot ytterligare:
git push origin <local branch name>
Om du vill skicka nya incheckningar från din aktuella lokala gren till en fjärrgren med samma namn kör du följande förenklade push-kommando. Om fjärrdatabasen inte har en gren med samma namn misslyckas det här kommandot.
git push origin
Om din aktuella lokala gren spårar en fjärrgren på originkan du helt förkorta push-kommandot:
git push
Det fullständigt förkortade push-kommandot misslyckas dock om din lokala gren inte spårar en fjärrgren. Kör git remote show origin för att kontrollera den spårade statusen för dina grenar. Om du vill push-överföra och ange den aktuella lokala grenen så att den spårar samma namngivna fjärrgren på originkör du git push --set-upstream origin <local branch name> en gång. Flaggan --set-upstream skapar en fjärrgren med samma namn om den inte finns.
Det är vanligt när du arbetar med en lokal funktionsgren (eller buggfix) att regelbundet uppdatera din gren med de senaste ändringarna från grenen main . Beroende på hur du gör det kan de lokala och fjärranslutna incheckningshistorikerna för funktionsgrenen skilja sig åt så att Git-pushkommandot returnerar ett fel. Om du är den enda som skickar till fjärrfunktionsgrenen och du är säker på att din lokala funktionsgren innehåller allt arbete du behöver kan du använda Git-pushkommandot med --force flaggan för att ersätta alla incheckningar på fjärrfunktionsgrenen med incheckningarna från din lokala funktionsgren. Mer information om Git-pushkommandot, inklusive andra force alternativ, finns i Git-referenshandboken.
När du har push-överfört dina incheckningar kan du skapa en pull-begäran för att låta andra veta att du vill att dina ändringar ska granskas. Om ändringarna godkänns sammanfogas de till en målgren på fjärrplatsen.