A nem véglegesített változtatások átvitele egy új Git-ágra

A nem véglegesített változtatások átvitele egy új Git-ágra
A nem véglegesített változtatások átvitele egy új Git-ágra

Új fiók létrehozása el nem kötelezett munkájához

Az új funkciók fejlesztésekor gyakran tapasztaljuk, hogy a változtatásokat a saját águkban kell elkülöníteni. Ez jobb szervezést és párhuzamos fejlesztést tesz lehetővé. Ha elkezdett dolgozni egy új szolgáltatáson, és félúton úgy dönt, hogy annak külön ágban kell lennie, a Git egyszerű módot kínál ezeknek a nem véglegesített változtatásoknak a átvitelére.

Ebben a cikkben végigvezetjük Önt a meglévő, el nem vállalt munkájának új fiókba való áthelyezésén. Ezenkívül megtanulja, hogyan állíthatja vissza jelenlegi fiókját anélkül, hogy elveszítené az előrehaladását. Ez biztosítja, hogy a munkafolyamat tiszta és hatékony maradjon.

Parancs Leírás
git checkout -b <branch-name> Létrehoz egy új ágat, és átvált rá.
git add . A munkakönyvtárban végrehajtott összes változtatást leállítja.
git commit -m "message" Leíró üzenettel véglegesíti a fokozatos változtatásokat.
git checkout - Visszavált az előzőleg kivett ágra.
git reset --hard HEAD~1 Visszaállítja az aktuális ágat az előző véglegesítésre, elveti a változtatásokat.
#!/bin/bash Megadja, hogy a szkriptet a bash shellben kell futtatni.

A Git munkafolyamat megértése az el nem kötelezett munka kezelésére

Az első szkriptpéldában egy sor Git-parancs segítségével kézzel helyezzük át a nem véglegesített változtatásokat egy új ágba. A folyamat azzal kezdődik git checkout -b new-feature-branch, amely létrehoz egy új „new-feature-branch” nevű ágat, és átvált rá. Ez elengedhetetlen az új funkció munkájának a fő ágtól való elkülönítéséhez. Ezután végrehajtjuk az összes el nem vállalt változtatást git add .. Ez a parancs biztosítja, hogy minden módosított és új fájl készen áll a véglegesítésre. Ezt követően a git commit -m "Move uncommitted work to new feature branch" parancs végrehajtja ezeket a változtatásokat az új ágban a műveletet elmagyarázó üzenettel.

Miután biztosítottuk a változtatásokat az új elágazásban, visszatérünk az eredeti fiókhoz git checkout original-branch. Az eredeti ág korábbi állapotának visszaállításához használjuk git reset --hard HEAD~1. Ez a parancs erőszakosan visszaállítja az ágat az előző véglegesítésre, és elveti az azóta végrehajtott változtatásokat. Ez a parancssorozat biztosítja, hogy az új szolgáltatáson végzett munka a saját ágában megmaradjon, miközben az eredeti ág tiszta állapotba kerül.

A folyamat automatizálása Shell Script segítségével

A második szkriptpélda ezt a folyamatot egy shell szkript segítségével automatizálja. A szkript azzal kezdődik, hogy ellenőrzi, hogy kapott-e új ágnevet if [ -z "$1" ]; then, amely kilép a szkriptből, ha nincs megadva név. A változó NEW_BRANCH=$1 a megadott ágnevet hozzárendeli egy változóhoz. A szkript ezután létrehozza és átvált erre az új ágra a következővel: git checkout -b $NEW_BRANCH. Minden el nem kötött változtatást a rendszer segítségével állítunk elő git add ., és elkötelezte magát git commit -m "Move uncommitted work to $NEW_BRANCH".

A változtatások végrehajtása után a szkript visszavált az előző ágra a használatával git checkout -. Az utolsó parancs git reset --hard HEAD~1 visszaállítja az eredeti ágat a korábbi véglegesítésre, biztosítva, hogy az tiszta és mentes legyen az új ágba áthelyezett változtatásoktól. Ez a shell-szkript kényelmes módot biztosít a nem véglegesített munka új ágba való áthelyezésének és az aktuális ág alaphelyzetbe állításának folyamatának automatizálására, megkönnyítve ezzel a munkafolyamat kezelését a Gitben.

Nem végleges változtatások áthelyezése egy új ágra a Gitben

A Git parancssor használata

# 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

Munka áthelyezése egy új fióktelepre, miközben megőrzi a fejlődést

Shell Script használata az automatizáláshoz

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

Funkcióágak létrehozása és kezelése a Gitben

Amikor a Git-tel dolgozik, fontos, hogy a munkafolyamat rendszerezett legyen, különösen új funkciók fejlesztésekor. Az egyik legjobb gyakorlat a szolgáltatási ágak használata. A funkcióág lehetővé teszi, hogy a fő kódbázistól függetlenül dolgozzon egy új funkción. Ez az elkülönítés segít megakadályozni, hogy a befejezetlen vagy instabil kód befolyásolja a fő ágat. Jellemző ág létrehozásához használja a parancsot git checkout -b feature-branch. Ezzel nemcsak létrehozza az ágat, hanem át is vált rá, biztosítva, hogy minden új munka a megfelelő kontextusban történjen.

Miután létrehozta a szolgáltatási ágat, a fő ág befolyásolása nélkül dolgozhat az új szolgáltatáson. Ez különösen hasznos olyan együttműködési környezetben, ahol több fejlesztő dolgozik egyszerre különböző funkciókon. Amikor a funkció elkészült és alaposan tesztelt, a segítségével visszaolvaszthatja a fő ágba git merge feature-branch. Így a fő ág csak stabil és teljes kódot tartalmaz. Ha frissítenie kell a szolgáltatási ágat a fő ág legújabb módosításaival, használhatja git rebase main a szolgáltatási ágon, biztosítva, hogy naprakész legyen.

Gyakran Ismételt Kérdések a Git Branch Managementről

  1. Mi az a jellemző ág?
  2. A szolgáltatási ág egy külön ág, amelyet egy új szolgáltatás fejlesztésére hoztak létre, függetlenül a fő kódbázistól.
  3. Hogyan hozhatok létre új ágat a Gitben?
  4. A segítségével új ágat hozhat létre git checkout -b branch-name.
  5. Hogyan válthatok az ágak között a Gitben?
  6. Használat git checkout branch-name meglévő ágra váltani.
  7. Hogyan vonhatok vissza egy jellemző ágat a fő ágba?
  8. Egy szolgáltatási ág egyesítéséhez váltson a fő ágra, és használja git merge feature-branch.
  9. Hogyan frissíthetem a szolgáltatási ágamat a fő ág legújabb módosításaival?
  10. Amíg a szolgáltatási ágon van, használja git rebase main hogy beépítsük a legújabb változtatásokat.
  11. Mi a teendő, ha az összevonás után törölni akarok egy ágat?
  12. A segítségével törölhet egy ágat git branch -d branch-name.
  13. Hogyan listázhatom ki az összes ágat a tárhelyemben?
  14. Használat git branch az összes ág felsorolásához.
  15. Átnevezhetek egy fiókot a Gitben?
  16. Igen, használd git branch -m old-name new-name átnevezni egy ágat.
  17. Hogyan ellenőrizhetem, hogy éppen melyik fiókban vagyok?
  18. Használat git status vagy git branch az aktuális ág megtekintéséhez.
  19. Mi történik, ha megpróbálok összevonni egy ágat konfliktusokkal?
  20. A Git felkéri Önt, hogy oldja fel az ütközéseket az egyesítés befejezése előtt. Használat git status az ütköző fájlok megtekintéséhez és azok megfelelő szerkesztéséhez.

Végső gondolatok:

Az el nem kötelezett munka áthelyezése a Git új ágába értékes technika a szervezett és tiszta fejlesztési munkafolyamat fenntartásához. A megadott parancsok és szkriptek használatával egyszerűen létrehozhat új ágat a szolgáltatáshoz, végrehajthatja a változtatásokat, és visszaállíthatja a jelenlegi ágat. Ez a megközelítés nemcsak megőrzi az előrehaladást, hanem a fő ágat is stabilan és hiányos funkcióktól mentesen tartja. Ezeknek a gyakorlatoknak az alkalmazása növeli a termelékenységet, és megkönnyíti a csapattagok közötti jobb együttműködést.