Bestanden doorvoeren en geschiedenis weergeven

Voltooid

Nu u uw Git-opslagplaats hebt geïnitialiseerd, kunt u beginnen met het toevoegen van bestanden. In deze les leert u hoe u Git vertelt hoe u de wijzigingen in bestanden in uw opslagplaats kunt bijhouden.

Notitie

De opdrachten in deze les worden weergegeven om concepten te illustreren. Voer de opdrachten nog niet uit. U oefent wat u hier binnenkort leert.

Mapstructuur voor uw opslagplaats

Wanneer u werkt met een versiebeheersysteem zoals Git, is het belangrijk om te plannen hoe u uw bestanden opslaat. Het is een goed idee om een duidelijke mapstructuur te hebben.

Als u Bicep-code bouwt om een toepassing of een andere oplossing te implementeren, is het ook een goed idee om uw Bicep-bestanden op te slaan in dezelfde opslagplaats als de toepassingscode en andere bestanden. Op die manier moet iemand op elk moment een nieuwe functie toevoegen die zowel Bicep als toepassingscode wijzigt, worden ze samen bijgehouden.

Het plannen van uw mapstructuur maakt het ook eenvoudiger om uw oplossing vanuit een pijplijn te implementeren. In een toekomstige module leert u meer over pijplijnen.

Verschillende teams hebben verschillende conventies voor het instellen van hun opslagplaatsmappen en bestanden. Zelfs als u niet met een team werkt, is het nog steeds een goed idee om een conventie te volgen. Een goede bestands- en mapstructuur helpt iedereen die in de toekomst met uw code moet werken.

Als uw team nog geen voorkeur heeft, kunt u dit als volgt doen:

  • Maak in de hoofdmap van uw opslagplaats een README.md-bestand . Dit tekstbestand, geschreven in Markdown, beschrijft de inhoud van de opslagplaats en geeft instructies om teamleden te helpen bij het werken in de opslagplaats.
  • Maak in de hoofdmap van uw opslagplaats een implementatiemap . In de map:
    • Sla uw belangrijkste Bicep-sjabloon, genaamd main.bicep, op.
    • Maak een submap voor modules om uw Bicep-modules op te slaan.
    • Als u andere scripts of bestanden hebt die tijdens implementaties worden gebruikt, slaat u deze op in de implementatiemap .
  • Maak in de hoofdmap van uw opslagplaats een src-map voor broncode. Gebruik deze om toepassingscode op te slaan.
  • Maak in de hoofdmap van uw opslagplaats een docs-map . Gebruik deze om documentatie over uw oplossing op te slaan.

Hier volgt een afbeelding van hoe deze structuur kan zoeken naar de website van uw speelgoedbedrijf:

Diagram dat een maphiërarchie illustreert.

Uw wijzigingen klaarmaken

Nadat u wijzigingen hebt aangebracht in een bestand of bestanden, moet u ze faseerken . Fasering vertelt Git dat u rekening houdt met de wijzigingen die belangrijk genoeg zijn om te behouden. Het lijkt misschien een onnodige stap, maar fasering biedt u flexibiliteit terwijl u werkt. U kunt bijvoorbeeld wijzigingen aanbrengen in verschillende bestanden, maar slechts één van deze bestanden behouden. Of misschien wilt u slechts enkele van de wijzigingen die u in een bestand hebt aangebracht, behouden.

Als u een bestand wilt klaarmaken, gebruikt u de git add opdracht en geeft u de bestandsnaam of mapnaam op die u wilt fasen. Nadat u een bestand hebt gefaseerde, weet Git dat u de wijzigingen mogelijk wilt doorvoeren. Wanneer u de status van de opslagplaats opvraagt met behulp van git status, ziet u de gefaseerde wijzigingen.

Belangrijk

Nadat u een bestand hebt gefaseerde, als u verdere wijzigingen aanbrengt voordat u het doorvoert, worden deze wijzigingen niet vastgelegd in Git. U moet het bestand opnieuw klaarmaken voor Git om de meest recente wijzigingen op te nemen.

Stel dat u een Bicep-module hebt gemaakt om een Azure Cosmos DB-account te definiëren. Het heet cosmos-db.bicep en u hebt deze opgeslagen in de map deploy/modules. U kunt het bestand als volgt fasen:

git add deploy/modules/cosmos-db.bicep

U kunt ook alle wijzigingen in uw opslagplaats klaarmaken door deze opdracht uit te voeren vanuit de hoofdmap van uw opslagplaats:

git add .

De gefaseerde wijzigingen doorvoeren

Een doorvoer vertegenwoordigt een set wijzigingen in een of meer bestanden in uw opslagplaats. Wanneer u klaar bent om de wijzigingen door te voeren die u hebt gefaseerd, gebruikt u de git commit opdracht. Uw doorvoer bevat een doorvoerbericht, een door mensen leesbare beschrijving van de wijzigingen.

Hier volgt een voorbeeld van hoe u de gefaseerde wijzigingen doorvoert die eerder zijn weergegeven:

git commit --message "Add Cosmos DB account definition"

Notitie

Visual Studio Code kan zich ook doorvoeren in uw Git-opslagplaats. Wanneer u Git-integratie in Visual Studio Code gebruikt en u de bestanden nog niet hebt gefaseerd, vraagt Visual Studio Code of u wilt dat alle gewijzigde bestanden voor u worden gefaseerd. U kunt dit zelfs instellen als het standaardgedrag. Als u wilt, kunt u bestanden handmatig faseerken en de fase opheffen met broncodebeheer in Visual Studio Code.

Maak uw doorvoerberichten kort, maar maak ze beschrijvend. Wanneer u of een teamlid de doorvoergeschiedenis in de toekomst beoordeelt, moet elk doorvoerbericht uitleggen wat de wijziging was en waarom u deze hebt aangebracht.

Er zijn geen regels over welke doorvoerberichten moeten bevatten of hoe ze zijn opgemaakt. Maar conventioneel worden ze geschreven in de huidige tijd en in een volledige zin, alsof u orders geeft aan uw codebasis.

Tip

Het is een goede gewoonte om beschrijvende doorvoerberichten te schrijven, zelfs wanneer u zelf aan het werk bent. Mogelijk moet iemand anders uw code in de toekomst bekijken. Zelfs als ze dat niet doen, moet u mogelijk uw eigen geschiedenis bekijken en uw eigen leven gemakkelijker maken!

Hier volgen enkele voorbeelden van goede doorvoerberichten:

  • Werk de App Service-configuratie bij om netwerkconfiguratie toe te voegen.
  • Verwijder het opslagaccount omdat het is vervangen door een Cosmos DB-database.
  • Voeg application Insights-resourcedefinitie toe en integreer deze met de functie-app.

De geschiedenis van een bestand weergeven

Nadat u bestanden hebt doorgevoerd in uw Git-opslagplaats, kunt u de git log CLI-opdracht gebruiken om de geschiedenis van een bestand of zelfs alle doorvoeringen naar de opslagplaats weer te geven.

Voer de volgende opdracht uit om een lijst met doorvoeringen weer te geven:

git log --pretty=oneline

In de uitvoer van deze opdracht ziet u een lijst met de doorvoeringen, met de meest recente doorvoeringen eerst. Elke regel bevat de doorvoerhash. Dit is een id die Git intern gebruikt om elke doorvoering bij te houden. Het bevat ook het doorvoerbericht. Dit is een van de redenen waarom het zo belangrijk is om goede doorvoerberichten te schrijven.

Het is ook gebruikelijk om de doorvoeringen voor een specifiek bestand weer te geven. U kunt de bestandsnaam opgeven wanneer u de git log opdracht uitvoert, zoals deze:

git log deploy/main.bicep

De Git CLI en de git log opdracht bieden veel argumenten die u kunt gebruiken om informatie over uw doorvoeringen en bestanden weer te geven. Het is echter vaak eenvoudiger om Visual Studio Code te gebruiken om de doorvoergeschiedenis voor een bestand weer te geven.

In het deelvenster Visual Studio Code Explorer kunt u een bestand in uw opslagplaats selecteren en vasthouden (of erop klikken met de rechtermuisknop) en vervolgens Tijdlijn weergeven selecteren. Het deelvenster Tijdlijn wordt geopend en toont een lijst met elke doorvoering die van invloed is op dat bestand. Wanneer u een doorvoering selecteert, ziet u de exacte wijzigingen in het bestand. In de volgende oefening ziet u hoe u deze informatie kunt gebruiken.