Niet-vastgelegde wijzigingen overbrengen naar een nieuwe Git-branch

Niet-vastgelegde wijzigingen overbrengen naar een nieuwe Git-branch
Niet-vastgelegde wijzigingen overbrengen naar een nieuwe Git-branch

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 git checkout -b new-feature-branch, 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 git add .. Deze opdracht zorgt ervoor dat alle gewijzigde en nieuwe bestanden worden voorbereid voor het vastleggen. Hierna volgt de git commit -m "Move uncommitted work to new feature branch" 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 git checkout original-branch. Om de originele branch naar de vorige staat te resetten, gebruiken we git reset --hard HEAD~1. 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 if [ -z "$1" ]; then, waarmee het script wordt afgesloten als er geen naam wordt opgegeven. De variabele NEW_BRANCH=$1 wijst de opgegeven vertakkingsnaam toe aan een variabele. Het script maakt vervolgens deze nieuwe branch aan en schakelt over naar deze nieuwe branch git checkout -b $NEW_BRANCH. Alle niet-vastgelegde wijzigingen worden gefaseerd met behulp van git add ., en gepleegd met git commit -m "Move uncommitted work to $NEW_BRANCH".

Nadat de wijzigingen zijn vastgelegd, schakelt het script terug naar de vorige vertakking met behulp van git checkout -. Het laatste commando git reset --hard HEAD~1 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 git checkout -b feature-branch. 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 git merge feature-branch. 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 git rebase main terwijl u zich in uw feature branch bevindt, en zorg ervoor dat deze up-to-date is.

Veelgestelde vragen over Git Branch Management

  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 git checkout -b branch-name.
  5. Hoe schakel ik tussen branches in Git?
  6. Gebruik git checkout branch-name 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 git merge feature-branch.
  9. Hoe update ik mijn functievertakking met de laatste wijzigingen van de hoofdvertakking?
  10. Gebruik in uw feature branch git rebase main 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 git branch -d branch-name.
  13. Hoe vermeld ik alle vestigingen in mijn repository?
  14. Gebruik git branch om alle vestigingen weer te geven.
  15. Kan ik een branch in Git hernoemen?
  16. Ja, gebruik git branch -m old-name new-name om een ​​tak te hernoemen.
  17. Hoe controleer ik in welke vestiging ik momenteel zit?
  18. Gebruik git status of git branch 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 git status om bestanden met conflicten te zien en deze dienovereenkomstig te bewerken.

Laatste gedachten:

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.