Ebben a bejegyzésben megmutatjuk Hogyan lehet megoldani a konfliktusokat a GIT -ben - A GIT lehetővé teszi a fejlesztők számára, hogy ágakat hozzanak létre a fő kódbázisból, hogy független változtatásokat hajtsanak végre. Ezeket a változásokat ezután össze lehet egyesíteni a meglévő kódba. Ez lehetővé teszi a csapatok számára, hogy párhuzamosan dolgozzanak anélkül, hogy mások elvégzik a feladataikat.
Ugyanakkor az egyesítési konfliktusok akkor fordulhatnak elő, ha ugyanazok a kódrészek megváltoznak a különböző ágakban. A GIT önmagában nem mindig tudja megoldani ezeket a konfliktusokat. Ilyen esetekben be kell lépnie és manuálisan javítania.
Hogyan lehet megoldani a konfliktusokat a GIT -ben
Számos módja van oldja meg a GIT egyesítési konfliktusait , a munkafolyamattól, az eszközöktől és a kényelmi szinttől függően. A GIT parancsok segítségével közvetlenül a terminálon oldhatja meg őket, olyan szövegszerkesztőt használhat, mint a VS kód, vagy támaszkodhat olyan GUI -eszközökre, mint a GitHub Desktop, a Sourcetree vagy a GitKraken. Értsük meg, hogy a konfliktusok hogyan történnek, és hogyan lehet megoldani őket egy egyszerű példa segítségével a GIT és a Visual Studio kód (VS kód) segítségével.
Lépjen a GitHub -fiókjába, és hozzon létre egy új tárolót a ReadMe.md fájl. Nevezzük ezt a repót egyesít -
A következő kötelezettségvállalásban (a fő ágon) szerkessze a ReadMe.md Fájljon és adjon hozzá néhány szöveges tartalmat. Elkötelezze a változásokat.
Jegyzet: A tároló létrehozása után nem szükséges szerkeszteni a readme.md -t. Ennek a lépésnek a célja (itt) a változás szimulálása a fő ágon, hogy konfliktus később forduljon elő, amikor különféle ágakat egyesül, amelyek szintén módosítják ugyanazt a fájlt.
Elindul Kód> őrült L, és másolja a repóját Https link.
Ezután hozzon létre egy könyvtárat a helyi számítógépen. Nevezze meg valami ilyesmit Twc_git_merge_demo - Nyissa meg ezt a könyvtárat a VS kódban, indítsa el a terminált ( Három pont> terminál> új terminál ), és klónozza a github repo -t:
git clone https://github.com/sangeetaghera2710/merge-conflict-demo.git
Ezután navigáljon a klónozott repóba, és hozzon létre egy új ágot Feature1 :
0C368C4E795806EFB48D8847775162B95E99B94
Adjon hozzá némi szöveget a readme.md fájlhoz, majd szakaszosítsa a módosításokat:
7550DA6365563CE554CC337721507D3E7C15BEC Ebben a példában a git add .
helyett a DF82F619B34E581735E611B6F53A44647A034E8 helyett használtuk.
git add .
Az összes megváltozott fájl, míg a git add README.md
csak a megadott fájlt. Ezenkívül a git status
a munkakönyvtár és a színpadi terület jelenlegi állapotának megjelenítésére szolgál.
Ezután váltson vissza a fő ágra, és hozzon létre egy másik nevű ágot Jellemző2 :
git checkout main git checkout -b feature2
Most szerkessze ugyanezt ReadMe.md Fájl, de adjon hozzá egy másik szöveget. Ismét a színpad és elkötelezett:
15120E7E1CBFD6D22B3D0F7605ED54791293A5
Most váltson vissza a fő ágra, és egyesítse a Featuit1 -et:
00A447E33C7C787DCAF4EC5ADDA4A32C9A7F7Ennek az egyesülésnek konfliktusok nélkül kell befejeznie.
Ezután váltson a Jellemző2 ág és egyesítse a frissített főt:
86319972f8517a70cf3b467c7fe8aeb0cff1a66Ezúttal egyesítési konfliktus következik be a readme.md fájlban, mivel mindkét ág ugyanazt a részt módosította.
Olvas : Hogyan lehet egyesíteni két ágot a GIT -ben
A konfliktusok egyesítésének megoldása
Amikor egyesítési konfliktus bekövetkezik, a GIT speciális markereket ad hozzá (<<<<<<<, ========, >>>>>>>) az érintett fájlokba, hogy kiemelje az egyes ágok ütköző szakaszait. Ezek a markerek segítenek azonosítani a konfliktusokat, lehetővé téve, hogy manuálisan döntse el, hogy melyik verziót tartsa, vagy hogyan kombinálja a változásokat az egyesítés véglegesítése előtt.
Nyissa meg a konfliktikus fájlt (readme.md) a VS kódban. Látni fogja a konfliktusjelölőket a fenti képen látható módon.
A VS kód négy lehetőséget kínál a konfliktusok manuálisan történő megoldására:
- Fogadja el az aktuális változást: Tartsa meg a változásokat a 2. funkcióból.
- Fogadja el a bejövő változást: Tartsa meg a változtatásokat a Main -tól (amely tartalmazza az 1. funkciót).
- Fogadja el mindkét változást: Tartsa meg mindkét változáskészletet.
- Hasonlítsa össze a változásokat: A különbségeket a döntés megkezdése előtt tekintse meg.
Kattintás Hasonlítsa össze a változásokat - Amikor kattintson a VS kód változásainak összehasonlítására az egyesítési konfliktus során, az oldalon nyitja meg Diff nézet az ütköző fájlból. Ez a nézet megmutatja az Ön jelenlegi ágának változásait (a bal oldalon) és a beérkező változásokat az egyesítésétől (a jobb oldalon). Ez lehetővé teszi mindkét verzió vonalának összehasonlítását soronként, mielőtt megválasztaná a konfliktus megoldását.
Ezután manuálisan szerkesztheti a fájlt, vagy használhatja az egyik lehetőséget, mint például az aktuális elfogadás, a bejövő elfogadás elfogadása, vagy mindkettőt közvetlenül ebből a nézetből.
A konfliktus megoldása után mentse el a fájlt. Ezután színpadi és vállalja a változásokat.
százalékos különbség excel96f930bca298263625ae8f4b26a77837d8a1fe37
Ennyi! Sikeresen oldott meg egy GIT egyesítési konfliktust a Visual Studio kód segítségével.
Remélem, hogy ezt hasznosnak találja.
Olvas: Hogyan lehet letölteni és telepíteni a git -et a Windows -ba -
Hogyan lehet visszaállítani egy elkötelezettséget a gitben?
A Git Repository -ban való elkötelezettség visszaállításához használhatja a git revert
parancsot. Ahelyett, hogy eltávolítaná az elkötelezettséget a projekt előzményéből, ez a parancs meghatározza, hogyan lehet megfordítani a kötelezettségvállalás által bevezetett változtatásokat, és egy új „Visszavonási kötelezettségvállalást” csatol a kapott inverz tartalomhoz. Ez elősegíti a történelem megőrzését, amely fontos mind a megbízható együttműködés, mind a projekt integritásának szempontjából.
Olvassa el a következő: Javítsa meg, hogy képtelen megtalálni a Git -et a Windows számítógép útján -