Kuidas lahendada Git Merge 'CONFLICT'?

Kuidas Lahendada Git Merge Conflict



Ühendamine on Giti kohaliku hoidla mitme haruga töötamise oluline osa. See on vajalik, kui arendajad töötavad üksikutes harudes sama projekti erinevate moodulite kallal, kuna kasutajad peavad koostööks kõik muudatused kaugserverisse lükkama. Liitmise ajal kogevad kasutajad sageli eroosi või konflikte. Näiteks on kaks sama nimega faili erinevates harudes. Mõlema faili sisu on aga erinev ja need tahavad liita. Selle stsenaariumi korral tekib konflikt.

See kirjutis kirjeldab Giti ühendamise konflikti lahendamise meetodit.

Millal Git Merge 'KONFLIKT' toimub?

Giti konflikt tekib siis, kui sama fail eksisteerib erinevates harudes ja erineva sisuga. Lisaks võib see juhtuda ka siis, kui üks määratud fail kustutatakse ühest harust, kuid redigeeritakse teises harus.







Ühendamiskonflikti ilmnemise mõistmiseks järgige alltoodud samme.



  • Liikuge märgitud hoidlasse.
  • Looge fail ja värskendage seda.
  • Jälgige faili lavastusalal ja kinnitage muudatused.
  • Loetlege kõik harud ja lülitage teise haru poole.
  • Ühendage filiaalid, käivitades ' git merge ” käsk.

1. samm: suunake määratud hoidla ümber

Avage Git Bashi terminal, kasutage ' cd ” käsk ja liikuge märgitud hoidla poole:



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

2. samm: looge fail

Seejärel looge uus fail, kasutades ' puudutada 'käsk:





puudutada fail1.txt

3. samm: avage fail redaktoris

Kasutage ' alustada ” käsk failinimega faili käivitamiseks vaikeredaktoriga:



käivita fail1.txt

Tulemuseks olev väljund näitab, et redaktor on avatud. Lisage sisu ja sulgege fail pärast selle salvestamist:

4. toiming: lisage fail peatusalasse

Nüüd lisage muudetud fail lavastusalasse, kasutades ' git lisada ” käsk edasiseks töötlemiseks:

git lisada fail1.txt

5. samm: tehke muudatused

Kinnitage kõik muudatused, käivitades ' git commit ' käsk ja määrake sõnum, kasutades ' -m 'valik:

git commit -m 'fail uuendatud ja lisatud'

6. samm: loetlege filiaalid

Nüüd loetlege kõik filiaalid, käivitades ' git filiaal 'käsk:

git filiaal

Esitatud pilt näitab, et kõik oksad on konsoolil kuvatud:

7. samm: vahetage haru

Ühelt harult teisele lülitumiseks käivitage ' saada kassasse ” käsk ja lisage haru nimi, kuhu soovite teisaldada:

saada kassasse omadus2

Selle tulemusel oleme edukalt üle läinud alfa ' juurde ' omadus2 ” filiaal:

8. samm: looge fail

Selles nimetatud sammus genereerige sama fail ' alfa ” sama laiendiga haru:

puudutada fail1.txt

9. samm: avage fail

Kasutage pakutavat käsku, et avada fail vaikeredaktoriga ja lisada sisu:

käivita fail1.txt

10. samm: jälgige faili peatuspiirkonnas

Käivitage ' git lisada ” käsk, et lükata fail tööalast lavastusalasse:

git lisada fail1.txt

11. samm: tehke muudatused

Nüüd kinnitage muudatused, käivitades alltoodud käsu koos kinnitussõnumiga:

git commit -m 'Fail on lisatud ja värskendatud filiaalis feature2'

12. samm: ühendage filiaalid

Järgmisena kasutage ' git merge 'käsk liitmiseks' omadus2 ' koos ' alfa ” filiaal:

git merge alfa

Vastavalt esitatud väljundile on ' KONFLIKT: ühenda konflikt failis file1.txt ” on kohatud:

Kontrollige, kus määratud failis konflikt tekib, käivitades käsu alustada 'käsk:

käivita fail1.txt

Võib märgata, et mõlema sama faili sisu on üksteisest erinev:

13. samm: katkestage ühendamine

Kasuta ' git merge ” käsk koos käsuga „ – katkestada ” võimalus liitmistoimingu eemaldamiseks:

git merge -- katkestada

Liikuge edasi, et lahendada ülaltoodud jaotises esinev konflikt.

Kuidas lahendada Git Merge'i konflikte?

Giti ühendamise konflikti lahendamiseks järgige allolevat protseduuri:

  • Avage fail, kus konflikt esineb, ja muutke seda.
  • Jälgige ja tehke muudatusi.
  • Lõpuks ühendage mõlemad harud.

1. samm: muutke faili

Avage fail vaikeredaktoriga ja muutke sisu vastavalt ' alfa ” filiaali fail:

käivita fail1.txt

Võib täheldada, et faili on muudetud. Seejärel vajutage ' CTRL+S ” ja salvestage see:

2. samm: jälgi faili

Lisage fail töökataloogist lavastusalale, käivitades käsu:

git lisada fail1.txt

3. samm: tehke muudatused

Kõigi muudatuste tegemiseks kasutage nuppu ' git commit 'käsk:

git commit -m 'Muudetud fail on lisatud'

Selle tulemusena on muudatused edukalt ellu viidud:

4. samm: ühendage filiaalid

Nüüd käivitage ' git merge ” haru koos teise haru nimega:

git merge alfa

Selle tulemusel avaneb tekstiredaktor ja küsib lisateadet. Muutke kinnitusteadet ja sulgege see pärast salvestamist:

Allpool toodud väljund näitab, et Giti ühendamise konflikt on lahendatud ja harud on edukalt ühendatud:

See kõik puudutab Giti ühendamise konflikti lahendamist.

Järeldus

Giti ühendamise konflikt ilmneb siis, kui sama faili muudetakse kahes erineva sisuga harus. Selle konflikti lahendamiseks avage sama fail ja muutke selle sisu vastavalt teisele harufailile. Seejärel lisage see lavastusalasse ja kinnitage see. Lõpuks kasutage ' git merge ” käsk harude liitmiseks. Selles postituses on kirjeldatud meetodit Giti ühendamise konflikti lahendamiseks.