Š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.
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ū
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.
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
Pievienojiet failam README.MD nedaudz teksta, pēc tam izveidojiet un veiciet izmaiņas:
labākie vlc spraudņi7550DA6365563CE554CC337721507D3E7C15BEC
Š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
Tagad pārslēdzieties atpakaļ uz galveno filiāli un apvienojiet 1 iezīmi:
00A447E33C7C787DCAF4EC5ADDA4A32C9A7F7Šim apvienošanai vajadzētu pabeigt bez konfliktiem.
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.
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.
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.
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ū