Zephyrnet-logo

10 Git-technieken die u moet kennen voordat u zich bij een team aansluit

Datum:

Gebruik je Git al een tijdje, maar nog nooit in een teamomgeving? Ben je bekend met de basisprincipes van Git maar weet u niet zeker hoe grote teams Git op het werk gebruiken?

In dit bericht zal ik het hebben over de basistechnieken van Git waarmee je bekend moet zijn voordat je bij een team komt. Ik heb ze opgesomd in een volgorde die je logischerwijs zou volgen om bij te dragen aan een repository, omdat het belang van elke stap van het grootste belang is. Laten we nu in de lijst springen.

1. Klonen: aan de slag in een team

Als je Git voor persoonlijke projecten hebt gebruikt, heb je misschien pas een project helemaal opnieuw geïnitialiseerd en er in de loop van de tijd aan toegevoegd. Wanneer u aan een bestaande codebase werkt, is de eerste stap het klonen van de codebase naar uw lokale systeem. Hierdoor kunt u aan uw kopie van de repository werken zonder enige tussenkomst van andere wijzigingen.

Om een ​​repository te klonen, voert u de opdracht git clone commando, gevolgd door het pad naar de repository:

git clone /path/to/repo

Als uw bron zich niet op hetzelfde systeem bevindt, kunt u SSH naar een extern systeem en ook klonen:

git clone username@remote_system_ip:/path/to/repo/on/remote

Als u kloont vanaf een bron op internet, kunt u eenvoudig de URL toevoegen:

git clone https://github.com/sdaityari/my_git_project.git

Elke keer dat u een repository kloont, doet u dat de keuze uit meerdere protocollen om verbinding te maken met de bron. In het bovenstaande GitHub-voorbeeld heb ik de https protocol.

2. Afstandsbedieningen beheren in Git

Nadat u uw repository eenmaal hebt gekloond, behoudt deze nog steeds een verwijzing naar de bron. Deze pointer is een voorbeeld van een afstandsbediening in Git. Een afstandsbediening is een verwijzing naar een ander exemplaar van dezelfde repository. Wanneer u een repository kloont, wordt er een pointer origin wordt automatisch aangemaakt die naar de bron verwijst.

U kunt een lijst met afstandsbedieningen in een repository controleren door de volgende opdracht uit te voeren:

git remove -v

Om een ​​afstandsbediening toe te voegen, kunt u de git remote add opdracht:

git remote add remote_name remote_address

U kunt een afstandsbediening verwijderen met behulp van de git remote remove opdracht:

git remote remove remote_name

Als u het adres van een afstandsbediening wilt wijzigen, kunt u de set-url opdracht:

git remote set-url remote_name new_remote_address

3. Vertakking in Git

Het grootste voordeel van Git ten opzichte van andere versiebeheersystemen is de kracht van de vertakkingen. Voordat ik inga op de essentie van vertakken, vraag je je misschien af wat een tak is. Een branch is een verwijzing naar een commit in je repository, die op zijn beurt naar zijn voorganger verwijst. Daarom vertegenwoordigt een branch een lijst met commits in chronologische volgorde. Wanneer je een branch aanmaakt, creëer je feitelijk alleen een nieuwe verwijzing naar een commit. In wezen vertegenwoordigt het echter een nieuw, onafhankelijk ontwikkelingspad.

Als je aan je eigen project hebt gewerkt, heb je misschien nooit bewust branches gebruikt. Standaard gebruikt Git de master tak voor ontwikkeling. Eventuele nieuwe commits worden aan deze branch toegevoegd.

Vertakking is nodig om Git de werklijnen in een project te laten splitsen. Op een bepaald moment kunnen er veel ontwikkelaars zijn die aan verschillende problemen werken. Idealiter wordt aan deze problemen in verschillende branches gewerkt om een ​​logische scheiding van nieuwe code te garanderen totdat de code wordt beoordeeld en samengevoegd.

Om een ​​lijst met vertakkingen en de huidige actieve vertakking te controleren, voert u de volgende opdracht uit:

git branch

Om een ​​nieuwe vertakking te maken, voert u de volgende opdracht uit:

git branch new_branch

Ook al maakt Git een nieuwe branch aan, merk op dat je actieve branch nog steeds de oude is. Om de ontwikkeling in een nieuwe branch te starten, voert u het volgende uit:

git checkout new_branch

Om een ​​nieuwe vertakking aan te maken en de actieve vertakking te wijzigen, voert u de volgende opdracht uit:

git checkout -b new_branch

Om de huidige vertakking te hernoemen, voert u de volgende opdracht uit:

git branch -m new_renamed_branch

Gebruik de -D optie om een ​​tak te verwijderen:

git branch -D new_renamed_branch

Hier is een gedetailleerde gids over vertakking in Git.

4. Update uw lokale opslagplaats: samenvoegen

Hoewel we de basisprincipes van branchen in Git hebben gecontroleerd, is de volgende logische stap het mergen van een branch in je basisbranch als je klaar bent met het werken aan een probleem. Om een ​​vertakking samen te voegen, voert u de volgende opdracht uit:

git checkout base_branch
git merge new_branch

Hoewel het misschien klinkt als een eenvoudig proces, is samenvoegen potentieel het meest tijdrovende proces in Git, omdat het aanleiding kan geven tot conflicten.

5. Omgaan met conflicten

Stel je voor dat je aan een bestand in een nieuwe branch werkt. Nadat je de wijzigingen hebt vastgelegd, verzoek je Git om je nieuwe branch samen te voegen met je basisbranch. Hetzelfde deel van hetzelfde bestand in de basisvertakking is echter bijgewerkt sinds u de nieuwe vertakking hebt gemaakt. Hoe beslist Git welke wijzigingen behouden moeten blijven en welke wijzigingen moeten worden weggegooid?

Git probeert altijd om geen gegevens te verliezen tijdens het samenvoegen. Als de wijzigingen in hetzelfde bestand in verschillende delen van het bestand zijn aangebracht, kunt u wegkomen door beide sets wijzigingen te behouden. Als Git echter niet kan beslissen welke wijzigingen behouden moeten blijven, ontstaat er een conflict.

Als er een conflict is gerezen, rennen git status in uw repository wordt een lijst met bestanden weergegeven die zijn gewijzigd in beide branches die worden samengevoegd. Als u een bestand met een conflict opent, ziet u de volgende reeks regels:

<<<<<<<< HEAD
...
...
========
...
...
>>>>>>>> new_branch

Het deel van het bestand tussen <<<<<<<< HEAD en ======== bevat de code die aanwezig is in de basisvertakking. De coderegels ertussen ======== en >>>>>>>> new_branch aanwezig zijn in de new_branch tak. De ontwikkelaar die de code samenvoegt, heeft de verantwoordelijkheid om te beslissen welk deel van de code (of een combinatie van beide delen) in de samenvoeging moet worden opgenomen. Eenmaal bewerkt, verwijdert u de drie getoonde sets regels, slaat u het bestand op en legt u de wijzigingen vast.

6. Synchroniseer wijzigingen met de afstandsbediening

Terwijl we hebben besproken hoe je code in nieuwe branches kunt vastleggen en deze kunt samenvoegen met de basisbranch, gaan we nu kijken hoe je code kunt synchroniseren met de afstandsbediening. Voordat u uw wijzigingen op de afstandsbediening kunt publiceren, moet u uw lokale kopie van de repository bijwerken om rekening te houden met eventuele wijzigingen die sinds uw laatste update zijn opgetreden. Om wijzigingen vanaf de afstandsbediening bij te werken, voert u de volgende opdracht uit:

git pull remote remote_branch:local_branch

De git pull command downloadt eerst de gegevens van de afstandsbediening en voegt vervolgens samen met de lokale branch zoals gespecificeerd in de opdracht. Er kunnen ook conflicten ontstaan ​​als er wijzigingen van een afstandsbediening worden opgehaald. In een dergelijk geval zou de laatste regel in een conflictbestand >>>>>>>> commit_hash in plaats van >>>>>>>> new_branch, Waar commit_hash zou de identificerende hash zijn voor de commit die aan uw branch wordt toegevoegd.

Om wijzigingen op de afstandsbediening te publiceren na het samenvoegen met de nieuwste code van de afstandsbediening, gebruikt u de git push opdracht:

git push remote local_branch:remote_branch

7. Git op de cloud: Forking

Als uw team in de cloud werkt, maakt u kennis met een extra concept dat een fork wordt genoemd. Een fork is een kopie van de centrale opslagplaats van de cloud onder uw gebruikersnaam. U hebt schrijftoegang tot uw fork, een veilige plek waar u wijzigingen kunt doorvoeren zonder de oorspronkelijke repository te beïnvloeden.

Dit heeft invloed op de techniekstap die ik hierboven heb behandeld. Je kloont je vork, dus de origin van uw lokale opslagplaats verwijst naar uw vork in de cloud. Hoe krijg je dan de updates van de nieuwste repository? U moet handmatig een afstandsbediening toevoegen, upstream, die verwijst naar de oorspronkelijke repository.

Hoewel u eenvoudig wijzigingen in uw fork kunt publiceren, hoe zorgt u ervoor dat nieuwe code wordt geaccepteerd in de oorspronkelijke repository? Dat brengt ons bij de volgende stap.

8. Codebeoordelingen via pull-aanvragen

Een pull-request is een verzoek om code van de ene branch naar de andere samen te voegen. Het is een concept dat zich heeft ontwikkeld sinds clouddiensten voor Git populair werden. Een pull request vat de vergelijking tussen de twee branches in kwestie samen en initieert een discussie tussen de ontwikkelaar en de beheerders van de organisatie.

Een gesprek op GitHub

Een codebeoordeling kan uitmonden in meer wijzigingen voordat deze kan worden samengevoegd. Wanneer de beheerders tevreden zijn met de wijzigingen, kan deze worden samengevoegd met de repository.

9. Weet wat Git-workflows zijn

Als u alleen aan één project werkt, gebruikt u waarschijnlijk slechts één branch. Onbewust houdt u zich aan de gecentraliseerde of trunk-workflow, waarbij alle wijzigingen in één vestiging worden aangebracht.

De volgende, complexere workflow is de feature-branch-workflow, waarbij aan elke feature of bugfix een enkele branch wordt toegeschreven. Er vindt geen ontwikkeling direct op de master or development takken.

Een Git-workflow die een breed scala aan situaties omvat, is dat wel de Gitflow-workflow. Het heeft aparte takken voor ontwikkeling, functies, releases en hotfixes.

Hier is een gedetailleerde gids over Git-workflows.

10. Grote bestanden verwerken: Git LFS

Hoewel Git prima met tekstbestanden omgaat, is het niet in staat veranderingen in binaire en uitvoerbare bestanden bij te houden. Hoewel je dergelijke bestanden aan Git kunt toevoegen, kan dit mogelijk leiden tot een grote repositorygrootte met een toename van het aantal commits.

De oplossing is om te gebruiken Git Grote bestandsopslag, dat grote binaire bestanden verwerkt via Git. Deze tool slaat deze bestanden op in de cloud en vervangt ze door tekstaanwijzers. Hier is een implementatie van Git LFS gebruiken om Photoshop-ontwerpbestanden bij te houden.

Verder lezen

In dit bericht heb ik gesproken over verschillende Git-technieken die je kunnen helpen als je voor de eerste keer lid wordt van een team. Ik hoop dat het je heeft geholpen bij je voorbereiding op de toekomst. Heb ik iets gemist? Laat het me weten op Twitter!

Voor een dieper begrip van Git, bekijk deze bronnen:

Bron: https://www.sitepoint.com/git-techniques-to-know-before-you-join-a-team/?utm_source=rss

spot_img

Laatste intelligentie

spot_img