10 geavanceerde Git-technieken - KDnuggets

10 geavanceerde Git-technieken – KDnuggets

Bronknooppunt: 3083811

10 geavanceerde Git-technieken
Afbeelding van auteur
 

Heb je je ooit afgevraagd wat je zou kunnen doen om er als een professional uit te zien tegenover je manager als je Git gebruikt? In dit bericht leren we over 10 geavanceerde Git-technieken en snelkoppelingen die je efficiënter zullen maken bij het versiebeheer, het onderhouden en het delen van code.

Je kent waarschijnlijk al de basisprincipes van committen, pushen, trekken en vertakken met Git. Maar er zijn veel minder bekende opdrachten en functies die je vaardigheden naar een hoger niveau kunnen tillen. Nadat je dit hebt gelezen, heb je een paar slimme trucjes achter de hand om indruk te maken op collega's met je Git-vaardigheid.

Je hebt de bestanden meerdere keren op deze manier toegevoegd en vastgelegd, maar wat als ik je vertel dat dit op één regel kan worden gedaan met de vlag `-am`? 

$ git add .
$ git commit -m "new project"

 

Probeer dit in plaats daarvan, en het zal de bestandswijzigingen toevoegen en de commit maken met behulp van het bericht. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

Je kunt je huidige commit-bericht hernoemen met behulp van de `–amend`-vlag en het nieuwe bericht schrijven. Dit helpt je bij onbedoelde berichten.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

U kunt aanvullende wijzigingen in de huidige commit opnemen voordat u deze naar de externe repository pusht. Om dit te doen, moet u de bestandswijzigingen toevoegen en vervolgens vastleggen met behulp van de vlag `–amend`. Om het vorige commit-bericht te behouden, gebruikt u eenvoudigweg de vlag `–no-edit`.

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

Als je een lokale commit wilt pushen en de externe geschiedenis wilt overschrijven zonder problemen op te lossen, kun je de `–force` vlag gebruiken. Het is echter belangrijk op te merken dat het gebruik van de force-vlag niet wordt aanbevolen en alleen mag worden gebruikt als u absoluut zeker weet wat u doet. Houd er rekening mee dat het gebruik van de force-vlag de externe geschiedenis zal herschrijven.

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Om een ​​commit in Git ongedaan te maken, kun je het `revert` commando gebruiken. Met deze opdracht worden echter geen commits verwijderd. In plaats daarvan wordt er een nieuwe commit gemaakt die de wijzigingen die door de oorspronkelijke commit zijn aangebracht ongedaan maakt.

We zullen de `log` met `–oneline` vlag gebruiken om de commitgeschiedenis in een kortere vorm te bekijken. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

Om terug te keren naar een eerdere commit gebruiken we het `git revert` commando gevolgd door de commit ID. Hierdoor wordt een nieuwe commit gemaakt met de wijzigingen ten opzichte van de vorige commit.

$ git revert 8f184d5

Wilt u uw productiviteit op GitHub verhogen? Met GitHub Code Spaces kunt u uw code nu rechtstreeks in uw browser bewerken en uitvoeren. 

Om toegang te krijgen tot deze functie navigeert u eenvoudigweg naar uw favoriete repository, drukt u op de punttoets (“.”) op uw toetsenbord en wordt u doorgestuurd naar de VSCode-gebruikersinterface.

 

10 geavanceerde Git-technieken
Afbeelding van auteur
 

U kunt wijzigingen in de code aanbrengen en deze naar uw externe opslagplaats pushen. Als u de code echter in de terminal wilt uitvoeren, moet u de coderuimte in de cloud uitvoeren. De gratis versie biedt een uitstekende optie om uw Python-code in uw browser uit te voeren. Is dat niet geweldig? Ik kwam er vandaag pas achter.

 

10 geavanceerde Git-technieken
Afbeelding van auteur

Wanneer u aan een project werkt, kunt u bestanden toevoegen aan een verzamelgebied en deze vervolgens vastleggen om uw huidige voortgang op te slaan. Er is echter een andere manier om uw werk eenvoudig op te slaan met behulp van het commando `stash`. Wanneer u `stash` gebruikt, slaat u uw huidige voortgang op zonder deze toe te voegen aan de staging area of ​​deze vast te leggen. Hierdoor kunt u uw voortgang opslaan en herstellen wanneer dat nodig is.

We zullen onze huidige voortgang opslaan door een naam op te geven en deze op te slaan. 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

U kunt uw voorraadlijst bekijken en de bijbehorende index noteren om deze op te halen.

$ git stash list

 

stash@{0}: On master: new-idea

 

Onze voorraad “nieuwe ideeën” is opgeslagen op index 0. Gebruik deze opdracht om deze op te halen:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

U heeft de mogelijkheid om de naam van uw standaardfiliaal te hernoemen naar iets passenders. In dit geval zullen we de naam van “master” wijzigen in “main”. 

$ git branch -M main

 

10 geavanceerde Git-technieken
 

U kunt de wijzigingen verifiëren met behulp van de volgende opdracht: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

Als je een gedetailleerde geschiedenis wilt bekijken van alle commits die in de huidige repository zijn gemaakt, kun je het `git log` commando gebruiken. De uitvoer kan echter moeilijk te lezen zijn. Om het leesbaarder te maken, kunt u de vlaggen `graph`, `decorate` en `oneline` gebruiken. Hier worden de wijzigingen weergegeven die in meerdere vertakkingen zijn aangebracht en hoe deze worden samengevoegd.

$ git log --graph --decorate --oneline

 

10 geavanceerde Git-technieken

Ik ben meerdere keren overgestapt naar een nieuw filiaal en ben de naam van het vorige filiaal vergeten. Daarom moest ik het `git branch -a` commando gebruiken om de lijst met branchnamen te bekijken. Er is echter een eenvoudigere manier om terug te keren naar de originele branch door het streepje “-” te gebruiken na het `git checkout` commando.

We zullen eerst de nieuwe Git-branch “neo” aanmaken.

$ git branch neo

 

Wij zullen overstappen naar de “neo” tak.

$ git checkout neo

 

Switched to branch 'neo'

 

Om terug te gaan naar de oorspronkelijke branch gebruiken we het volgende commando:

$ git checkout -

 

Switched to branch 'main'

We hebben geleerd over het overschrijven van de externe repository. Laten we leren hoe u de lokale repository kunt overschrijven met behulp van de externe repository.

We zullen het `fetch` commando gebruiken om de laatste wijzigingen uit de externe repository te halen. 

$ git fetch origin

 

Vervolgens gebruiken we de opdracht 'reset' met de vlag 'hard' om eventuele lokale wijzigingen met de externe versie te overschrijven. Houd er rekening mee dat hierdoor alle lokale wijzigingen definitief worden verwijderd.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

Als er nog steeds niet-bijgehouden bestanden zijn, kunnen deze worden verwijderd met behulp van de volgende opdracht:

$ git clean -df

Ik werd geïnspireerd om dit artikel te schrijven na het bekijken van een YouTube-video door Vuurschip. Ik bewonder de maker vanwege zijn vermogen om complexe onderwerpen op een eenvoudige manier uit te leggen. Door zijn methode te volgen, heb ik veel geleerd over de functies van Git.

In dit artikel hebben we geavanceerde Git-technieken besproken die cruciaal zijn voor datawetenschappers en software-ingenieurs die aan een gezamenlijk dataproject werken. Als u deze technieken kent, kunt u ongelukken voorkomen en problemen veel sneller oplossen.

Ik hoop dat je deze blog nuttig vond. Laat het me weten als je meer berichten wilt lezen met informatie op bytegrootte over veelgebruikte tools in de datawetenschapswereld.
 
 

Abid Ali Awan (@1abidaliawan) is een gecertificeerde datawetenschapper-professional die dol is op het bouwen van machine learning-modellen. Momenteel richt hij zich op het creëren van content en het schrijven van technische blogs over machine learning en data science-technologieën. Abid heeft een Master in Technologie Management en een Bachelor in Telecommunicatie Engineering. Zijn visie is om een ​​AI-product te bouwen met behulp van een grafisch neuraal netwerk voor studenten die worstelen met een psychische aandoening.

Tijdstempel:

Meer van KDnuggets