Bewerken

Share via


Veelgestelde vragen over Git

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Hoe kan ik eenvoudig een externe vertakking downloaden naar mijn lokale opslagplaats?

Controleer eerst of u een origin opslagplaats hebt geconfigureerd. U moet een dergelijke opslagplaats hebben als u uw opslagplaats hebt gekloond git clone. Wanneer u een vertakking uitcheckt die niet lokaal bestaat, bepaalt Git of er een externe vertakking met dezelfde naam is. Als dat zo is, maakt Git een lokale vertakking met een verwijzing naar de externe vertakking van die naam. Gebruik git pull dit om de doorvoeringen te downloaden en Git lokaal te laten inhalen in de vertakkingsgeschiedenis.

Hoe weet ik in welke vertakking ik werk?

git branch zonder argumenten worden de lokale vertakkingen weergegeven en worden de vertakkingen gemarkeerd die u hebt uitgecheckt. In Visual Studio wordt op de statusbalk ook de huidige vertakking weergegeven wanneer u werkt met een project dat is opgeslagen in een lokale Git-opslagplaats.

Wanneer moet ik Git doorvoeren?

Geaccepteerde procedures zijn het doorvoeren van afzonderlijke doorvoeringen voor logisch afzonderlijke wijzigingen. U kunt doorvoeringen beschouwen als vermeldingen in een logboekboek. Wanneer u een wijziging aanbrengt die de moeite waard is om te noteren, moet u deze opnemen in een doorvoering. Een populaire optie is om iedereen in staat te stellen lokaal zoveel door te voeren als ze willen, maar voordat ze de lokale doorvoeringen pushen, worden ze eerst door middel van het opnieuw maken van de basis. Deze optie biedt gebruikers flexibiliteit om frequente doorvoeringen te maken, terwijl de doorvoergeschiedenis gestroomlijnd blijft.

Als elke vertakking de volledige doorvoergeschiedenis behoudt, is dat niet de doorvoergeschiedenis van *main* moeilijk te volgen in de loop van de tijd?

Grote projecten met veel doorvoeringen en een reeks inzenders kunnen leiden tot doorvoergeschiedenissen voor de main vertakking die de ontwikkelingsgeschiedenis van de onderwerpvertakkingen vertegenwoordigt die zijn samengevoegd in main meer dan de ontwikkelingsgeschiedenis van het totale project. Git biedt een faciliteit voor het condenseren van doorvoeringen op vertakkingen door middel van verpletterende doorvoeringen en rebasing. Wanneer u doorvoeringen verplettert, wordt de doorvoergeschiedenis van een vertakking minder uitgebreid, wat een eenvoudigere doorvoergeschiedenis op de hoofdvertakking maakt nadat deze is samengevoegd.

Hoe kom ik erachter wie een specifieke wijziging heeft aangebracht in een bestand?

Gebruik de git blame opdracht om erachter te komen wie een bepaalde wijziging heeft aangebracht in een bestand. Vanuit uw lokale opslagplaats kunt u uitvoeren git blame met de -L parameter, waarbij u opgeeft welke regels van belang zijn. Blame produceert opgemaakte uitvoer met de doorvoering die de regel voor het laatst heeft bijgewerkt en de naam van de persoon die de doorvoering heeft gemaakt.

> git blame foo.js -L 20,+40  # show the blame output for the next 40 lines starting at line 20

215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 20) line 20 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 21) line 21 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 22) line 22 of the code

Blame doorzoekt de doorvoergeschiedenis voor u. U kunt ook de geschiedenis van een bestand bekijken in de webportal om te bepalen wie een wijziging heeft aangebracht en wanneer. Open Code Explorer voor uw opslagplaats en vertakking en selecteer vervolgens het gewenste bestand. Azure-opslagplaatsen tonen een volledige doorvoergeschiedenis voor dat bestand in de huidige vertakking.

Ik heb wijzigingen aangebracht in sommige bestanden en nu kan ik niet uitchecken naar een andere vertakking of mijn werk opnieuw baseeren.

Uitchecken naar een andere vertakking in Git heeft invloed op de status van bestanden op uw bestandssysteem. Git gebruikt de doorvoergeschiedenis om ervoor te zorgen dat u werkt met de bestanden die de status van uw vertakking vertegenwoordigen. Als u vertakkingen probeert te wijzigen terwijl u niet-doorgevoerde wijzigingen hebt, worden deze wijzigingen tijdens het uitchecken overschreven. Omdat Git niet wilt dat u per ongeluk uw wijzigingen kwijtraakt, voorkomt u dat het uitchecken plaatsvindt. U hebt twee opties:

Ik heb wat werk gedaan, maar moet overschakelen naar iets anders. Hoe kan ik mijn werk opslaan voor later zonder de wijzigingen door te voeren?

Soms wilt u de wijzigingen behouden, maar ze niet doorvoeren, omdat ze zich niet op een punt bevinden waar u het prettig vindt om dit te doen. Gebruik Git stash. Stash neemt de huidige gefaseerde en niet-voorbereide wijzigingen in uw vertakking op en slaat het werk op en retourneert vervolgens uw vertakking terug naar de status van de laatste doorvoering. U kunt overschakelen naar de andere vertakking, uw werk doen en vervolgens terugkeren naar deze vertakking stash apply om uw wijzigingen te herstellen.

> git stash
Saved working directory and index state WIP on feature1: be26067 updated endpoint docs
HEAD is now at be26067

Wanneer u uitvoert git stash apply, worden de laatst opgeslagen wijzigingen toegepast op uw huidige vertakking. Als er een conflict is met het toepassen van de opgeslagen wijzigingen, stash worden de wijzigingen hersteld voor de bestanden die niet conflicteren en conflictmarkeringen maken in de bestanden die conflicteren om op te lossen. In dit geval moet u de wijzigingen handmatig samenvoegen .

Zodra u klaar bent met de stash, verwijdert u deze met git stash drop deze opdracht verwijdert u de laatste set met opgeslagen wijzigingen.

U kunt meerdere stashes hebben, maar hiervoor is meer handmatige manipulatie vereist, omdat u expliciet stashes moet toepassen en neerzetten. Meer informatie vindt u in de Git Stash-documentatie.

Hoe kan ik de standaardeditor voor Git-opdrachtregelprogramma's wijzigen?

Git gebruikt standaard een opdrachtregeleditor bij het vragen om doorvoerberichten, het uitvoeren van nieuwe basisbewerkingen en andere werkzaamheden waarvoor aanvullende informatie nodig is. De standaardeditor is geconfigureerd met behulp van git config:

> git config core.editor _path_to_editor_ _options_to_editor_

Met Git voor Windows kunt u Kladblok eenvoudig instellen als editor:

> git config core.editor notepad

Met deze opdracht configureert u Windows Kladblok om Git-gegevens naar behoefte te bewerken en de tekst van Git naar Kladblok correct door te geven. U kunt ook opgeven

> git config format.commitMessageColumns 72 

Als u de tekstkolommen in de doorvoerberichten naar de voorkeur 72 en regelterugloop wilt behouden nadat u die tekenlimiet op een regel hebt bereikt.

Hoe kan ik de gebruikersnaam en e-mail wijzigen die in mijn doorvoeringen worden weergegeven?

Git plaatst een gebruikersnaam en e-mailadres in elke doorvoer en Azure-opslagplaatsen gebruiken deze informatie bij het weergeven van doorvoeringen en bij het werken met pull-aanvragen. Als u aan de opdrachtregel werkt, kunt u de naam en e-mailgegevens bijwerken die worden weergegeven met behulp van de git config opdracht:

> git config --global user.email "frank@fabrikam.com"
> git config --global user.name "Francis Totten"

De --global optie stelt het e-mailadres en de naam in die zijn opgenomen in doorvoeringen voor alle Git-opslagplaatsen op dit systeem. Als u de instellingen voor één opslagplaats wilt wijzigen, moet u de map waarin de Git-opslagplaats zich bevindt, wijzigen en de bovenstaande opdrachten uitvoeren zonder de --global vlag.

U kunt ook de naam- en e-mailinstellingen van Visual Studio wijzigen. Selecteer in het Git-menu Instellingen in het dialoogvenster Opties, selecteer Git Global Instellingen of Git Repository Instellingen> General.

Visual Studio 2019 versie 16.8 en nieuwere versies biedt een Git-versiebeheerervaring met behoud van de Git-gebruikersinterface van Team Explorer . Als u Team Explorer wilt gebruiken, schakelt u Extra Opties>Preview-functies>>nieuwe Git-gebruikerservaring uit in de menubalk. U kunt Git-functies van beide interfaces door elkaar oefenen.

Kies in Team Explorer Instellingen en selecteer onder Git de koppeling Globale Instellingen of Opslagplaats Instellingen.