Kā atrisināt apvienot konfliktus GIT

Ka Atrisinat Apvienot Konfliktus Git



Šajā amatā mēs jums parādīsim Kā atrisināt apvienot konfliktus GIT Apvidū GIT ļauj izstrādātājiem izveidot filiāles no galvenās kodeksa bāzes, lai veiktu neatkarīgas izmaiņas. Pēc tam šīs izmaiņas var apvienot esošajā kodā. Tas ļauj komandām strādāt paralēli, negaidot, kad citi izpildīs savus uzdevumus.



  Kā atrisināt apvienot konfliktus GIT





Tomēr sapludināšanas konflikti var rasties, ja dažādās zarās tiek mainītas tās pašas koda daļas. Git ne vienmēr var atrisināt šos konfliktus pats par sevi. Šādos gadījumos jums ir jāuzstājas un jānovērš manuāli.





Kā atrisināt apvienot konfliktus GIT

Ir vairāki veidi, kā Atrisināt apvienot konfliktus Gitā , atkarībā no jūsu darbplūsmas, instrumentiem un komforta līmeņa. Jūs varat tos tieši atrisināt terminālī, izmantojot GIT komandas, izmantot teksta redaktoru, piemēram, vs kodu, vai paļauties uz tādiem GUI rīkiem kā Github darbvirsma, SourCetree vai Gitkraken. Ļaujiet mums saprast, kā notiek konflikti un kā tos atrisināt, izmantojot vienkāršu piemēru, izmantojot GIT un Visual Studio Code (pret kodu).



Dodieties uz savu GitHub kontu un izveidojiet jaunu repozitoriju ar a Readme.md failā. Nosauksim šo repo Apvienošanās-konflikta-demo Apvidū

  Jauns repozitorija git

Nākamajā saistībā (uz galveno filiāli) rediģējiet Readme.md failu un pievienojiet kādu teksta saturu. Izdarīt izmaiņas.



Smadav pārskats

Piezīme: Pēc repozitorija izveidošanas nav nepieciešams rediģēt README.MD. Šīs darbības mērķis (šeit) ir simulēt izmaiņas galvenajā filiālē, lai konflikts varētu rasties vēlāk, apvienojot dažādas filiāles, kas arī modificē to pašu failu.

Iet uz Kods> traks l un nokopējiet repo Https saite.

  Kopēt GitHub repo saiti

Pēc tam vietējā datorā izveidojiet direktoriju. Nosauciet to kaut ko līdzīgu TWC_GIT_MERGE_DEMO Apvidū Atveriet šo direktoriju vs kodā, palaidiet termināli ( Trīs punkti> terminālis> jauns terminālis ) un klonējiet github repo, izmantojot:

git clone https://github.com/sangeetaghera2710/merge-conflict-demo.git

Pēc tam dodieties uz klonēto repo un izveidojiet jaunu filiāli ar nosaukumu Feature1 :

0C368C4E795806EFB48D8847775162B95E99B94

  Klona repo vs kodā

Pievienojiet failam README.MD nedaudz teksta, pēc tam izveidojiet un veiciet izmaiņas:

labākie vlc spraudņi
7550DA6365563CE554CC337721507D3E7C15BEC

Šajā piemērā mēs esam izmantojuši git add . git add README.md.
git add . posmos visi mainīja failus, bet git add README.md posmos tikai norādītais fails. Arī git status tiek izmantots, lai parādītu pašreizējo darba direktorijas un pieturvietas zonas stāvokli.

Pēc tam pārslēdzieties atpakaļ uz galveno zaru un izveidojiet citu filiāli ar nosaukumu funkcija2 :

git checkout main
git checkout -b feature2

Tagad rediģējiet to pašu Readme.md Fails, bet pievienojiet atšķirīgu teksta rindu. Atkal posms un apņemšanās:

15120E7E1CBFD6D22B3D0F7605ED54791293A5

  Pievienotas izmaiņas Feature2 filiālē

Tagad pārslēdzieties atpakaļ uz galveno filiāli un apvienojiet 1 iezīmi:

00A447E33C7C787DCAF4EC5ADDA4A32C9A7F7

Šim apvienošanai vajadzētu pabeigt bez konfliktiem.

  Git apvieno panākumus

Tālāk pārslēdzieties uz funkcija2 filiāle un apvienot atjaunināto galveno par to:

86319972F8517A70CF3B467C7FE8AEB0CFF1A66

Šoreiz README.MD failā notiks apvienošanās konflikts, jo abas filiāles modificēja to pašu sadaļu.

  Apvienot konfliktu

Lasīt : Kā apvienot divus zarus Gitā

Konflikta atrisināšana

Kad rodas sapludināšanas konflikts, Git pievieno īpašus marķierus (<<<<<<<, =======, >>>>>>>) skartajos failos, lai izceltu konfliktējošās sadaļas no katras filiāles. Šie marķieri palīdz noteikt konfliktus, ļaujot manuāli izlemt, kuru versiju saglabāt, vai kā apvienot izmaiņas pirms apvienošanas pabeigšanas.

Windows veikala kļūda 0x80070057

Atveriet konfliktējošu failu (README.MD) VS kodā. Jūs redzēsit konfliktu marķierus, kā parādīts iepriekš minētajā attēlā.

VS kods piedāvā četras iespējas manuāli atrisināt konfliktus:

  • Pieņemt pašreizējās izmaiņas: Saglabājiet izmaiņas no Feature2.
  • Pieņemt ienākošās izmaiņas: Saglabājiet izmaiņas no Main (kas ietver 1. funkciju).
  • Pieņemt abas izmaiņas: Saglabājiet abus izmaiņu komplektus.
  • Salīdziniet izmaiņas: Pirms izlemšanas skatiet atšķirības.

  Konflikta atrisināšanas iespējas

Noklikšķināt Salīdziniet izmaiņas Apvidū Noklikšķinot uz salīdzināt izmaiņas VS koda laikā, apvienošanās konflikta laikā, tas atver blakus diferenciāls skats konfliktējošā faila. Šis skats parāda jūsu pašreizējās filiāles izmaiņas (kreisajā pusē) un ienākošās izmaiņas no jūsu apvienošanās filiāles (labajā pusē). Tas ļauj jums salīdzināt abas versijas pēc rindas, pirms izvēlas, kā atrisināt konfliktu.

  Salīdzinot filiāles versijas

Pēc tam jūs varat manuāli rediģēt failu vai izmantot kādu no iespējām, piemēram, pieņemt strāvu, pieņemt ienākumus, vai arī pieņemt abus tieši no šī skata.

Pēc konflikta atrisināšanas saglabājiet failu. Tad posmu un izdariet izmaiņas.

git add README.md
git commit -m "Resolved merge conflict in README.md"

Tas ir tas! Jūs esat veiksmīgi atrisinājis GIT apvienošanas konfliktu, izmantojot Visual Studio Code.

Es ceru, ka jums tas būs noderīgs.

Lasīt: Kā lejupielādēt un instalēt Git operētājsistēmā Windows Apvidū

Kā es varu atgriezt apņemšanos git?

Lai atjaunotu saistības GIT krātuvē, varat izmantot git revert komandu. Tā vietā, lai noņemtu saistības no jūsu projekta vēstures, šī komanda identificē, kā apgriezt apņemšanās ieviestās izmaiņas, un pievieno jaunu “atgriezenisko saistību” ar rezultāto apgrieztu saturu. Tas palīdz saglabāt vēsturi, kas ir svarīga gan uzticamai sadarbībai, gan jūsu projekta integritātei.

Lasīt tālāk: Labot nespēju atrast gitu ceļā Windows datorā Apvidū

Populārākas Posts