Kaip išspręsti „Git Merge“ „CONFLICT“ problemą?

Kaip Isspresti Git Merge Conflict Problema



Sujungimas yra esminė dalis dirbant su keliomis Git vietinės saugyklos šakomis. Tai būtina, kai kūrėjai dirba su skirtingais to paties projekto moduliais atskirose šakose, nes vartotojai turi perkelti visus pakeitimus į nuotolinį serverį, kad galėtų bendradarbiauti. Sujungdami vartotojai dažnai susiduria su erozija ar konfliktais. Pavyzdžiui, du failai tuo pačiu pavadinimu yra skirtingose ​​šakose. Tačiau abiejų failų turinys skiriasi ir jie nori sujungti. Tokiu atveju kils konfliktas.

Šiame įraše bus nurodytas „Git“ sujungimo konflikto sprendimo būdas.

Kada įvyksta „Git Merge“ „CONFLICT“?

Git konfliktas įvyksta, kai tas pats failas egzistuoja skirtingose ​​šakose su skirtingu turiniu. Be to, taip pat gali atsitikti, kai vienas nurodytas failas ištrinamas iš vienos šakos, bet redaguojamas kitoje šakoje.







Atlikite toliau nurodytus veiksmus, kad suprastumėte, kada įvyksta sujungimo konfliktas:



  • Eikite į nurodytą saugyklą.
  • Sugeneruokite failą ir atnaujinkite jį.
  • Stebėkite failą sustojimo srityje ir atlikite pakeitimus.
  • Išvardykite visas šakas ir pereikite prie kitos šakos.
  • Sujunkite šakas paleisdami „ git merge “ komanda.

1 veiksmas: peradresuokite nurodytą saugyklą

Atidarykite „Git Bash“ terminalą, naudokite „ cd “ komandą ir eikite link nurodytos saugyklos:



cd 'C:\Users\user\Git\projectrepo'

2 veiksmas: sugeneruokite failą

Tada sukurkite naują failą naudodami „ liesti “ komanda:





liesti failas1.txt

3 veiksmas: atidarykite failą redaktoriuje

Pasinaudokite ' pradėti “ komanda su failo pavadinimu, kad paleistumėte failą su numatytuoju redaktoriumi:



pradėti failą1.txt

Gauta išvestis rodo, kad redaktorius buvo atidarytas. Pridėkite turinį ir uždarykite failą jį išsaugoję:

4 veiksmas: pridėkite failą sustojimo srityje

Dabar pridėkite pakeistą failą į sustojimo sritį naudodami „ git pridėti “ komanda tolesniam apdorojimui:

git pridėti failas1.txt

5 veiksmas: atlikite pakeitimus

Įtvirtinkite visus pakeitimus vykdydami „ git commit “ komandą ir nurodykite pranešimą naudodami „ -m “ variantas:

git commit -m 'Failas atnaujintas ir pridėtas'

6 veiksmas: išvardykite šakas

Dabar surašykite visas šakas paleisdami „ gito šaka “ komanda:

gito šaka

Pateiktame paveikslėlyje parodyta, kad konsolėje buvo rodomos visos šakos:

7 veiksmas: perjunkite filialą

Norėdami perjungti iš vienos šakos į kitą, paleiskite „ atsiskaityti “ komandą ir pridėkite filialo pavadinimą, į kurį norite perkelti:

atsiskaityti bruožas2

Dėl to sėkmingai perėjome iš „ alfa “ į „ bruožas2 “ filialas:

8 veiksmas: sukurkite failą

Atlikdami šį nurodytą veiksmą, sugeneruokite tą patį failą „ alfa “ šaka su tuo pačiu plėtiniu:

liesti failas1.txt

9 veiksmas: atidarykite failą

Norėdami atidaryti failą su numatytuoju redaktoriumi ir pridėti turinį, naudokite pateiktą komandą:

pradėti failą1.txt

10 veiksmas: Stebėkite failą sustojimo srityje

Vykdykite ' git pridėti ” komanda, kad nustumtų failą iš darbo srities į sustojimo sritį:

git pridėti failas1.txt

11 veiksmas: atlikite pakeitimus

Dabar atlikite pakeitimus paleisdami toliau nurodytą komandą kartu su patvirtinimo pranešimu:

git commit -m „Failas pridėtas ir atnaujintas Feature2 filiale“

12 veiksmas: sujunkite filialus

Tada naudokite „ git merge ' komanda sujungti ' bruožas2 ' su ' alfa “ filialas:

git merge alfa

Pagal pateiktą išvestį „ KONFLIKTAS: sujunkite failo 1.txt konfliktą “ buvo susidurta:

Patikrinkite, kur nurodytame faile kyla konfliktas, paleisdami „ pradėti “ komanda:

pradėti failą1.txt

Galima pastebėti, kad abiejų tų pačių failų turinys skiriasi vienas nuo kito:

13 veiksmas: nutraukite sujungimą

Naudoti ' git merge “ komanda kartu su „ – nutraukti “ parinktį, kad pašalintumėte sujungimo operaciją:

git merge -- nutraukti

Eikite į priekį, kad išspręstumėte aukščiau esančiame skyriuje kilusį konfliktą.

Kaip išspręsti „Git Merge“ konfliktus?

Norėdami išspręsti „Git“ sujungimo konfliktą, atlikite toliau pateiktą procedūrą:

  • Atidarykite failą, kuriame įvyko konfliktas, ir pakeiskite jį.
  • Stebėkite ir patvirtinkite pakeitimus.
  • Galiausiai sujunkite abi šakas.

1 veiksmas: pakeiskite failą

Atidarykite failą naudodami numatytąjį redaktorių ir pakeiskite turinį pagal „ alfa “ filialo failas:

pradėti failą1.txt

Galima pastebėti, kad failas buvo pakeistas. Tada paspauskite ' CTRL + S “ ir išsaugokite:

2 veiksmas: sekti failą

Pridėkite failą iš darbo katalogo į sustojimo sritį vykdydami pateiktą komandą:

git pridėti failas1.txt

3 veiksmas: atlikite pakeitimus

Norėdami patvirtinti visus pakeitimus, naudokite ' git commit “ komanda:

git commit -m 'pridėtas pakeistas failas'

Dėl to pakeitimai buvo sėkmingai įgyvendinti:

4 veiksmas: sujunkite filialus

Dabar paleiskite „ git merge “ filialas kartu su kitos šakos pavadinimu:

git merge alfa

Dėl to atsidarys teksto rengyklė ir paprašys pridėti pranešimą. Pakeiskite patvirtinimo pranešimą ir uždarykite jį išsaugoję:

Žemiau pateikta produkcija rodo, kad Git sujungimo konfliktas buvo išspręstas ir sėkmingai sujungtos šakos:

Tai viskas apie „Git“ sujungimo konflikto sprendimą.

Išvada

„Git“ sujungimo konfliktas įvyksta, kai tas pats failas modifikuojamas dviejose skirtingose ​​šakose su skirtingu turiniu. Norėdami išspręsti šį konfliktą, atidarykite tą patį failą ir pakeiskite jo turinį pagal kitą šakos failą. Tada pridėkite jį prie sustojimo srities ir įpareigokite. Galiausiai naudokite „ git merge ” komanda sujungti filialus. Šiame įraše buvo nurodytas „Git“ sujungimo konflikto sprendimo būdas.