Transferència de canvis no compromesos a una nova branca de Git

Transferència de canvis no compromesos a una nova branca de Git
Transferència de canvis no compromesos a una nova branca de Git

Configuració d'una nova sucursal per al vostre treball sense compromís

Quan es desenvolupen noves funcions, és habitual adonar-se que els canvis s'han d'aïllar a la seva pròpia branca. Això permet una millor organització i desenvolupament paral·lel. Si heu començat a treballar en una funció nova i decidiu a mig camí que hauria de residir en una branca separada, Git us ofereix una manera senzilla de transferir aquests canvis no compromesos.

En aquest article, us guiarem pel procés de traslladar el vostre treball existent i sense compromís a una nova sucursal. A més, aprendràs a restablir la teva branca actual sense perdre res del teu progrés. Això garanteix que el vostre flux de treball es mantingui net i eficient.

Comandament Descripció
git checkout -b <branch-name> Crea una branca nova i hi canvia.
git add . Organitza tots els canvis no compromesos al directori de treball.
git commit -m "message" Comprometa els canvis escenificats amb un missatge descriptiu.
git checkout - Torna a la branca prèviament retirada.
git reset --hard HEAD~1 Restableix la branca actual a la confirmació anterior, descartant els canvis.
#!/bin/bash Especifica que l'script s'ha d'executar a l'intèrpret d'ordres bash.

Entendre el flux de treball de Git per gestionar el treball no compromès

Al primer exemple d'script, movem manualment els canvis no compromesos a una branca nova mitjançant una sèrie d'ordres de Git. El procés comença amb git checkout -b new-feature-branch, que crea una nova branca anomenada "new-feature-branch" i canvia a ella. Això és essencial per aïllar el treball de la nova característica de la branca principal. A continuació, organitzem tots els canvis no compromesos amb git add .. Aquesta ordre garanteix que tots els fitxers modificats i nous estiguin preparats per a la confirmació. Després d'això, el git commit -m "Move uncommitted work to new feature branch" L'ordre confirma aquests canvis a la nova branca amb un missatge que explica l'acció.

Després d'assegurar els canvis a la nova branca, tornem a la branca original amb git checkout original-branch. Per restablir la branca original al seu estat anterior, fem servir git reset --hard HEAD~1. Aquesta ordre restableix força la branca a la confirmació anterior, descartant els canvis fets des de llavors. Aquesta sèrie d'ordres garanteix que el treball de la nova característica es conserva a la seva pròpia branca mentre que la branca original es restableix a un estat net.

Automatització del procés amb un script de Shell

El segon exemple de script automatitza aquest procés mitjançant un script de shell. L'script comença comprovant si s'ha proporcionat un nom de branca nou if [ -z "$1" ]; then, que surt de l'script si no es dóna cap nom. La variable NEW_BRANCH=$1 assigna el nom de branca proporcionat a una variable. Aleshores, l'script crea i canvia a aquesta nova branca amb git checkout -b $NEW_BRANCH. Tots els canvis no compromesos s'escenifiquen mitjançant git add ., i compromès amb git commit -m "Move uncommitted work to $NEW_BRANCH".

Després de confirmar els canvis, l'script torna a la branca anterior utilitzant git checkout -. L'ordre final git reset --hard HEAD~1 restableix la branca original a la seva confirmació anterior, assegurant-se que està neta i lliure dels canvis que es van traslladar a la nova branca. Aquest script d'intèrpret d'ordres proporciona una manera convenient d'automatitzar el procés de traslladar el treball no compromès a una nova branca i de restablir la branca actual, facilitant la gestió del vostre flux de treball a Git.

Moure els canvis no compromesos a una nova branca a Git

Utilitzant la línia d'ordres Git

# 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

Transferir el treball a una nova sucursal tot preservant el progrés

Ús d'un script de Shell per a l'automatització

#!/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

Creació i gestió de branques de funcions a Git

Quan treballeu amb Git, és important mantenir el vostre flux de treball organitzat, especialment quan desenvolupeu funcions noves. Una bona pràctica és utilitzar branques de funcions. Una branca de funcions us permet treballar en una característica nova independentment de la base de codi principal. Aquest aïllament ajuda a evitar que el codi inacabat o inestable afecti la branca principal. Per crear una branca de funcions, utilitzeu l'ordre git checkout -b feature-branch. Això no només crea la branca, sinó que també us canvia a ella, assegurant-vos que qualsevol treball nou es fa en el context correcte.

Un cop hàgiu creat la vostra branca de funcions, podeu treballar en la vostra nova funció sense afectar la branca principal. Això és especialment útil en un entorn col·laboratiu on diversos desenvolupadors treballen en diferents funcions simultàniament. Quan la vostra funció estigui completa i provada a fons, podeu tornar-la a combinar a la branca principal mitjançant git merge feature-branch. D'aquesta manera, la branca principal només conté codi estable i complet. Si necessiteu actualitzar la vostra branca de funcions amb els darrers canvis de la branca principal, podeu utilitzar git rebase main mentre esteu a la vostra branca de funcions, assegurant-vos que estigui actualitzat.

Preguntes freqüents sobre la gestió de sucursals de Git

  1. Què és una branca característica?
  2. Una branca de funcions és una branca separada creada per desenvolupar una característica nova independentment de la base de codi principal.
  3. Com puc crear una branca nova a Git?
  4. Podeu crear una branca nova utilitzant git checkout -b branch-name.
  5. Com puc canviar entre branques a Git?
  6. Ús git checkout branch-name per canviar a una branca existent.
  7. Com puc tornar a fusionar una branca de funcions amb la branca principal?
  8. Per combinar una branca de funcions, canvieu a la branca principal i feu servir git merge feature-branch.
  9. Com actualitzo la meva branca de funcions amb els darrers canvis de la branca principal?
  10. Mentre esteu a la vostra branca de funcions, feu servir git rebase main per incorporar els últims canvis.
  11. Què passa si vull suprimir una branca després de la fusió?
  12. Podeu suprimir una branca utilitzant git branch -d branch-name.
  13. Com puc llistar totes les branques del meu repositori?
  14. Ús git branch per enumerar totes les branques.
  15. Puc canviar el nom d'una branca a Git?
  16. Sí, utilitza git branch -m old-name new-name canviar el nom d'una branca.
  17. Com puc comprovar a quina sucursal estic actualment?
  18. Ús git status o git branch per veure la branca actual.
  19. Què passa si intento fusionar una branca amb conflictes?
  20. Git us demanarà que resolgueu els conflictes abans de completar la fusió. Ús git status per veure fitxers amb conflictes i editar-los en conseqüència.

Pensaments finals:

Moure el treball no compromès a una nova branca a Git és una tècnica valuosa per mantenir un flux de treball de desenvolupament organitzat i net. Mitjançant les ordres i els scripts proporcionats, podeu crear fàcilment una branca nova per a la vostra funció, confirmar els vostres canvis i restablir la vostra branca actual. Aquest enfocament no només preserva el vostre progrés, sinó que també manté la vostra branca principal estable i lliure de funcions incompletes. L'adopció d'aquestes pràctiques millorarà la vostra productivitat i facilitarà una millor col·laboració entre els membres de l'equip.