Beskriv hur du arbetar med Git lokalt

Slutförd

Git och Continuous Delivery är en av de läckra choklad- och jordnötssmörkombinationerna. Ibland hittar vi två fantastiska smaker som smakar bra tillsammans i programvaruvärlden!

Kontinuerlig leverans av programvara kräver en betydande automatiseringsnivå. Det är svårt att leverera kontinuerligt om du inte har en kvalitetskodbas.

Git ger dig byggstenarna för att ta hand om kvaliteten i din kodbas. Det gör att du kan automatisera de flesta kontrollerna i din kodbas. Dessutom fungerar det innan koden checkas in på lagringsplatsen.

För att fullt ut uppskatta effektiviteten i Git måste du först förstå hur du utför grundläggande åtgärder på Git. Till exempel klona, checka in, push-överföra och hämta.

Den naturliga frågan är hur vi kommer igång med Git?

Ett alternativ är att gå inbyggt med kommandoraden eller leta efter en kodredigerare som stöder Git internt.

Visual Studio Code är en plattformsoberoende kodredigerare med öppen källkod som tillhandahåller kraftfulla utvecklarverktyg för hundratals språk.

Om du vill arbeta med öppen källkod måste du använda verktyg med öppen källkod.

Det här receptet börjar med:

  • Konfigurera utvecklingsmiljön med Visual Studio Code.
  • Skapa en ny Git-lagringsplats.
  • Genomför kodändringar lokalt.
  • Push-överföra ändringar till en fjärrlagringsplats i Azure DevOps.

Komma igång

I den här självstudien lär vi oss hur du initierar en Git-lagringsplats lokalt.

Sedan använder vi ASP.NET Core MVC-projektmallen för att skapa ett nytt projekt och version det på den lokala Git-lagringsplatsen.

Sedan använder vi Visual Studio Code för att interagera med Git-lagringsplatsen för att utföra grundläggande inchecknings-, pull- och push-åtgärder.

Du måste konfigurera din arbetsmiljö med följande:

Visual Studio Marketplace har flera tillägg för Visual Studio Code som du kan installera för att förbättra upplevelsen av att använda Git:

  • Git Lens: Det här tillägget ger visualisering för kodhistorik med hjälp av Git-skuldanteckningar och kodobjektiv. Med tillägget kan du smidigt navigera och utforska historiken för en fil eller gren. Med tillägget kan du också få värdefulla insikter via kraftfulla jämförelsekommandon och mycket mer.
  • Git-historik: Ger visualiserings- och interaktionsfunktioner för att visa Git-loggen, filhistoriken och jämföra grenar eller incheckningar.

Hur du gör det.

  1. Öppna kommandotolken och skapa en ny arbetsmapp:

    mkdir myWebApp
    cd myWebApp
    
    
  2. Initiera en ny Git-lagringsplats i myWebApp:

    git init
    
    
  3. Konfigurera globala inställningar för namn och e-postadress som ska användas vid incheckning på den här Git-lagringsplatsen:

    git config --global user.name "John Doe"
    git config --global user.email "john.doe@contoso.com"
    
    

    Om du arbetar bakom en företagsproxy kan du göra din Git-lagringsplats proxymedveten genom att lägga till proxyinformationen i den globala Git-konfigurationsfilen. Med olika varianter av det här kommandot kan du konfigurera en HTTP/HTTPS-proxy (med användarnamn/lösenord) och eventuellt kringgå SSL-verifiering. Kör kommandot nedan för att konfigurera en proxy i din globala git-konfiguration.

    git config --global http.proxy
    http://proxyUsername:proxyPassword@proxy.server.com:port
    
    
  4. Skapa ett nytt ASP.NET kärnprogram. Det nya kommandot erbjuder en samling växlar som kan användas för val av språk, autentisering och ramverk. Mer information finns i Microsoft Docs.

    dotnet new mvc
    
    

    Starta Visual Studio Code i kontexten för den aktuella arbetsmappen:

    code .
    
    
  5. När projektet öppnas i Visual Studio Code väljer du Ja för de tillgångar som krävs för att skapa och felsöka saknas i "myWebApp". Vill du lägga till dem? Varningsmeddelande. Välj Återställ för informationsmeddelandet Det finns olösta beroenden . Tryck på F5 för att felsöka programmet, så läses myWebApp in i webbläsaren enligt följande skärmbild:

    Skärmbild av Webbapp från Visual Studio Code.

    Om du föredrar att använda kommandoraden kan du köra följande kommandon i kontexten för git-lagringsplatsen för att köra webbprogrammet.

    dotnet build
    dotnet run
    
    

    Du märker ". VS Code-mappen läggs till i arbetsmappen. Om du vill undvika att checka in den här mappen på git-lagringsplatsen kan du inkludera den i .gitignore-filen. Välj en fil från ". VS Code-mappen, tryck på F1 för att starta kommandofönstret i Visual Studio Code, skriv gitIgnore och acceptera alternativet att inkludera den valda filen i den nya. gitIgnore-fil.

    Skärmbild av åtgärden Lägg till fil i .gitignore.

    Öppna .gitignore, ta bort filnamnet från sökvägen och lämna mappen med ett snedstreck, till exempel . VS Code/*.

    Skärmbild av åtgärden Lägg till vscode-mapp i .gitignore.

  6. Om du vill mellanlagra och checka in det nyligen skapade myWebApp-projektet på din Git-lagringsplats från Visual Studio Code navigerar du i Git-ikonen från den vänstra panelen. Lägg till en incheckningskommentare och checka in ändringarna genom att klicka på bockmarkeringsikonen. Ändringarna mellanlagras och checkas in i en åtgärd:

    Skärmbild av incheckning med VS Code.

    Öppna Program.cs ser du att Git-objektivet dekorerar klasser och funktioner med incheckningshistoriken och bringar den här informationen i linje med varje kodrad:

    Skärmbild av Program.cs kod som visar klassdekoration.

  7. Starta nu cmd i kontexten för git-lagringsplatsen och kör git branch --list. Den visar att endast grenen main för närvarande finns på den här lagringsplatsen. Kör nu följande kommando för att skapa en ny gren med namnet feature-devops-home-page.

    git branch feature-devops-home-page
    git checkout feature-devops-home-page
    git branch --list
    
    

    Du har skapat en ny gren med dessa kommandon och checkat ut den. Nyckelordet --list visar en lista över alla grenar i lagringsplatsen. Den gröna färgen representerar den gren som för närvarande är utcheckad.

  8. Gå nu till filen ~\Views\Home\Index.cshtml och ersätt innehållet med texten nedan.

    @{
        ViewData["Title"] = "Home Page";
    }
    
    <div class="text-center">
        <h1 class="display-4">Welcome</h1>
        <p>Learn about <a href="https://azure.microsoft.com/services/devops/">Azure DevOps</a>.</p>
    </div>
    
    
  9. Uppdatera webbappen i webbläsaren för att se ändringarna.

    Skärmbild av välkomstsidan för localhost.

  10. Kör följande kommandon i kontexten för git-lagringsplatsen. Dessa kommandon mellanlagrar ändringarna i grenen och checkar sedan in dem.

    git status
    git add .
    git commit -m "updated welcome page."
    git status
    
    
  11. Om du vill sammanfoga ändringarna från funktionen-devops-home-page till huvudsidan kör du följande kommandon i kontexten för git-lagringsplatsen.

    git checkout main
    git merge feature-devops-home-page
    
    

    Skärmbild av utdatafönstret merge feature-devops-home-page.

  12. Kör kommandot nedan för att ta bort funktionsgrenen.

    git branch --delete feature-devops-home-page
    
    

Hur det fungerar

Det enklaste sättet att förstå resultatet av de steg som gjordes tidigare är att kontrollera historiken för åtgärden. Låt oss ta en titt på hur man gör det.

  1. I Git är det en tvåstegsprocess att genomföra ändringar i en lagringsplats. Körs: add . Ändringarna mellanlagras men bekräftas inte. När du kör incheckningen höjs de mellanlagrade ändringarna i lagringsplatsen.

  2. Om du vill se historiken för ändringar i huvudgrenen kör du kommandot git log -v

    Skärmbild av historik för ändringar i huvudgrenen.

  3. Om du vill undersöka de faktiska ändringarna i incheckningen kan du köra kommandot git log -p

    Skärmbild av kommandoraden som visar git log -p-utdata med filändringarna.

Det finns fler

Git gör det enkelt att säkerhetskopiera ändringar. I vårt exempel, om du vill ta bort ändringarna som gjorts på välkomstsidan.

Du kan göra det svårt att återställa huvudgrenen till en tidigare version av incheckningen med hjälp av följande kommando.

git reset --hard 5d2441f0be4f1e4ca1f8f83b56dee31251367adc

Om du kör kommandot ovan återställs grenen till init-ändringen för projektet.

Om du kör git log -v, ser du att ändringarna som görs på välkomstsidan tas bort från lagringsplatsen.