Niet-vastgelegde wijzigingen overbrengen naar een nieuwe Git-branch

Git

Een nieuwe vestiging opzetten voor uw niet-toegewijde werk

Bij het ontwikkelen van nieuwe functies is het gebruikelijk om te beseffen dat de wijzigingen in hun eigen vertakking moeten worden geïsoleerd. Dit maakt een betere organisatie en parallelle ontwikkeling mogelijk. Als je aan een nieuwe functie bent begonnen te werken en halverwege besluit dat deze in een aparte branch moet worden ondergebracht, biedt Git een eenvoudige manier om deze niet-vastgelegde wijzigingen over te dragen.

In dit artikel begeleiden wij u bij het verhuizen van uw bestaande, vrije werk naar een nieuwe vestiging. Bovendien leert u hoe u uw huidige branch kunt resetten zonder dat u iets van uw voortgang verliest. Dit zorgt ervoor dat uw workflow schoon en efficiënt blijft.

Commando Beschrijving
git checkout -b <branch-name> Creëert een nieuwe vertakking en schakelt ernaar toe.
git add . Voert alle niet-vastgelegde wijzigingen in de werkmap uit.
git commit -m "message" Voert de gefaseerde wijzigingen door met een beschrijvende boodschap.
git checkout - Schakelt terug naar het eerder uitgecheckte filiaal.
git reset --hard HEAD~1 Reset de huidige branch naar de vorige commit, waarbij de wijzigingen worden genegeerd.
#!/bin/bash Specificeert dat het script in de bash-shell moet worden uitgevoerd.

Inzicht in de Git-workflow voor het beheren van niet-toegewezen werk

In het eerste scriptvoorbeeld verplaatsen we handmatig niet-vastgelegde wijzigingen naar een nieuwe branch met behulp van een reeks Git-opdrachten. Het proces begint met , waarmee een nieuwe vertakking wordt gemaakt met de naam "new-feature-branch" en daarnaartoe wordt overgeschakeld. Dit is essentieel om het werk van de nieuwe functie te isoleren van de hoofdvertakking. Vervolgens voeren we alle niet-gecommitteerde wijzigingen uit . Deze opdracht zorgt ervoor dat alle gewijzigde en nieuwe bestanden worden voorbereid voor het vastleggen. Hierna volgt de command legt deze wijzigingen vast in de nieuwe branch met een bericht waarin de actie wordt uitgelegd.

Nadat we de wijzigingen in de nieuwe branch hebben vastgelegd, keren we terug naar de oorspronkelijke branch . Om de originele branch naar de vorige staat te resetten, gebruiken we . Dit commando reset de branch krachtig naar de vorige commit, waarbij alle wijzigingen die sindsdien zijn aangebracht, worden verwijderd. Deze reeks opdrachten zorgt ervoor dat het werk aan de nieuwe functie in de eigen vertakking behouden blijft, terwijl de oorspronkelijke vertakking wordt gereset naar een schone staat.

Het proces automatiseren met een shell-script

Het tweede scriptvoorbeeld automatiseert dit proces met behulp van een shellscript. Het script begint met het controleren of er een nieuwe filiaalnaam is opgegeven , waarmee het script wordt afgesloten als er geen naam wordt opgegeven. De variabele wijst de opgegeven vertakkingsnaam toe aan een variabele. Het script maakt vervolgens deze nieuwe branch aan en schakelt over naar deze nieuwe branch . Alle niet-vastgelegde wijzigingen worden gefaseerd met behulp van git add ., en gepleegd met .

Nadat de wijzigingen zijn vastgelegd, schakelt het script terug naar de vorige vertakking met behulp van . Het laatste commando reset de originele branch naar de vorige commit, en zorgt ervoor dat deze schoon is en vrij van de wijzigingen die naar de nieuwe branch zijn verplaatst. Dit shellscript biedt een handige manier om het proces van het verplaatsen van niet-vastgelegd werk naar een nieuwe branch en het resetten van de huidige branch te automatiseren, waardoor het eenvoudiger wordt om je workflow in Git te beheren.

Niet-vastgelegde wijzigingen verplaatsen naar een nieuwe vertakking in Git

Git-opdrachtregel gebruiken

# Step 1: Create a new branch and switch to it
git checkout -b new-feature-branch

# Step 2: Stage all uncommitted changes
git add .

# Step 3: Commit the staged changes
git commit -m "Move uncommitted work to new feature branch"

# Step 4: Switch back to the original branch
git checkout original-branch

# Step 5: Reset the original branch to the previous commit
git reset --hard HEAD~1

Werk overbrengen naar een nieuw filiaal met behoud van de voortgang

Een shellscript gebruiken voor automatisering

#!/bin/bash

# Check if the user provided a branch name
if [ -z "$1" ]; then
  echo "Usage: $0 <new-branch-name>"
  exit 1
fi

NEW_BRANCH=$1

# Create and switch to the new branch
git checkout -b $NEW_BRANCH

# Stage all uncommitted changes
git add .

# Commit the changes
git commit -m "Move uncommitted work to $NEW_BRANCH"

# Switch back to the original branch
git checkout -

# Reset the original branch
git reset --hard HEAD~1

Functievertakkingen maken en beheren in Git

Als je met Git werkt, is het belangrijk om je workflow georganiseerd te houden, vooral bij het ontwikkelen van nieuwe functies. Een best practice is het gebruik van feature branches. Met een feature branch kunt u onafhankelijk van de hoofdcodebase aan een nieuwe feature werken. Deze isolatie helpt voorkomen dat onvoltooide of onstabiele code de hoofdvertakking beïnvloedt. Gebruik de opdracht om een ​​feature branch te maken . Hierdoor wordt niet alleen de branch aangemaakt, maar wordt u er ook naartoe overgeschakeld, zodat al het nieuwe werk in de juiste context wordt gedaan.

Zodra u uw feature branch heeft aangemaakt, kunt u aan uw nieuwe feature werken zonder de hoofdvertakking te beïnvloeden. Dit is met name handig in een samenwerkingsomgeving waarin meerdere ontwikkelaars tegelijkertijd aan verschillende functies werken. Wanneer uw functie compleet en grondig getest is, kunt u deze weer samenvoegen met de hoofdvertakking . Op deze manier bevat de hoofdtak alleen stabiele en volledige code. Als u uw functievertakking moet bijwerken met de laatste wijzigingen van de hoofdvertakking, kunt u dit gebruiken terwijl u zich in uw feature branch bevindt, en zorg ervoor dat deze up-to-date is.

  1. Wat is een feature branch?
  2. Een feature branch is een aparte branch die is gemaakt om onafhankelijk van de hoofdcodebase een nieuwe feature te ontwikkelen.
  3. Hoe maak ik een nieuwe branch in Git?
  4. U kunt een nieuwe vertakking maken met .
  5. Hoe schakel ik tussen branches in Git?
  6. Gebruik om over te stappen naar een bestaand filiaal.
  7. Hoe voeg ik een feature branch terug in de hoofdbranch?
  8. Om een ​​functievertakking samen te voegen, schakelt u over naar de hoofdvertakking en gebruikt u .
  9. Hoe update ik mijn functievertakking met de laatste wijzigingen van de hoofdvertakking?
  10. Gebruik in uw feature branch om de laatste wijzigingen op te nemen.
  11. Wat moet ik doen als ik een filiaal wil verwijderen na het samenvoegen?
  12. U kunt een tak verwijderen met behulp van .
  13. Hoe vermeld ik alle vestigingen in mijn repository?
  14. Gebruik om alle vestigingen weer te geven.
  15. Kan ik een branch in Git hernoemen?
  16. Ja, gebruik om een ​​tak te hernoemen.
  17. Hoe controleer ik in welke vestiging ik momenteel zit?
  18. Gebruik of om de huidige vestiging te zien.
  19. Wat gebeurt er als ik een branch met conflicten probeer samen te voegen?
  20. Git zal je vragen om conflicten op te lossen voordat de samenvoeging wordt voltooid. Gebruik om bestanden met conflicten te zien en deze dienovereenkomstig te bewerken.

Het verplaatsen van niet-gecommitteerd werk naar een nieuwe branch in Git is een waardevolle techniek voor het behouden van een georganiseerde en schone ontwikkelingsworkflow. Door de meegeleverde commando's en scripts te gebruiken, kunt u eenvoudig een nieuwe branch voor uw feature maken, uw wijzigingen vastleggen en uw huidige branch opnieuw instellen. Deze aanpak behoudt niet alleen uw voortgang, maar houdt ook uw hoofdvertakking stabiel en vrij van onvolledige functies. Het toepassen van deze praktijken zal uw productiviteit verhogen en een betere samenwerking tussen teamleden mogelijk maken.