Git suliejimo strategijos parinktys, Kaip priversti „git pull“ perrašyti vietinius failus? |


Norimą rezultatą galiu gauti naudodamas šias komandas: git pull origin demo git checkout master git pull origin master git merge demo git push origin master Vienintelis mano rūpestis yra jei yra kokių nors sujungimo problemų, Noriu pasakyti git perrašyti pakeitimus master filialas neduodamas man sujungti greitą.

Sukiyabashi Jiro Roppongi kalvos

Taigi iš esmės keičiasi demo filialas turėtų automatiškai perrašyti master atšaka. Apsižvalgiau, kad yra keli variantai, bet nenoriu rizikuoti jungdamasis. Kaip pažymėjo root, -X parinktys yra perduodamos sujungimo strategijai ir abi numatytosios recursive strategija ir alternatyva resolve strategijos imtis -X ours arba -X theirs vienas ar kitas, bet ne abu.

Kad suprastumėte, ką jie daro, turite žinoti, kaip Gitas randa ir elgiasi, sujungti konfliktus. Kai kuriuose failuose gali įvykti sujungimo konfliktas1 kai bazė versija skiriasi nuo abiejų srovė dar vadinamas vietiniu, HEAD arba --ours versija ir kitas dar vadinamas nuotoliniu arba --theirs to paties failo versiją. Tai yra, susijungimas nustatė tris pakeitimus tris įsipareigojimus : bazę, mūsų ir jų.

Šie pokyčiai paprastai nustatomi eilutėje, grynai tekstinis pagrindu. Git neturi realaus failo turinio supratimo; tai tik kiekvienos teksto eilutės palyginimas.

Gitas atsisakė sujungti nesusijusias istorijas iš naujo

Šiuos pokyčius matote jūs git diff produkcijos, ir kaip visada jie turi kontekste taip pat. Gali būti, kad dalykai, kuriuos mes pakeitėme, skiriasi nuo tų, kuriuos jie pakeitė, todėl atrodo, kad pokyčiai nesusidurs, tačiau pasikeitė ir kontekstas pvz. Jei pokyčiai įvyks skirtingi linijos - pavyzdžiui, mes keičiamės color į colour 17 eilutėje ir jie keičiasi fred į barney 71 eilutėje - tada nėra jokio konflikto: Gitas paprasčiausiai imasi tiek pokyčiai.

Jei pokyčiai vyksta tomis pačiomis linijomis, bet yra identiški pasikeičia, Gitas imasi vienas egzempliorius pokyčio.

bendra įvykdytų akcijų pasirinkimo sandorių vidinė vertė nemokama dvejetain galimyb gyvai prekybai

Kadangi sakei, kad jungiesi demo jų į master mūsų ir nori pokyčių demo, jūs norėtumėte -X theirs. Aklai taikantis -X, tačiau yra pavojinga. Tai, kad mūsų pokyčiai neprieštaravo eilutėmis, dar nereiškia, kad mūsų pokyčiai iš tikrųjų neprieštarauja!

Vienas klasikinis pavyzdys pasitaiko kalbose su kintamomis deklaracijomis. Pagrindinė versija gali paskelbti nenaudojamą kintamąjį: int i; Savo versijoje mes ištriname nenaudojamą kintamąjį, kad kompiliatoriaus įspėjimas dingtų jų versiją, jie prideda kilpą keliomis eilutėmis vėliau, naudodami i kaip kilpos skaitiklis.

Paaiškinimas:

Jei sujungsime abu dvejetainiai variantai 100 nemokama, gautas kodas nebebus kompiliuojamas. Jei turite automatizuotą testų rinkinį, svarbiausia yra atlikti bandymus sujungus. Tai galite padaryti atlikę įsipareigojimą ir prireikus vėliau išspręsti reikalus; arba tu gali tai padaryti prieš tai įsipareigojant, pridedant --no-commit į git merge komandą.

Išsamią informaciją apie visa tai paliksime kitiems skelbimams. Atliekant mažiau sujungimų ir arba protingesnių sujungimų ir arba naudojant pakartotinę bazę Abiejose mūsų komandų sekose yra trys sujungimai. Man neaišku, kas atnaujina demo ir arba master. Jei pats rašote savo kodą demo filialas, ir kiti rašo kodą ir stumia jį į demo šakotis origin, tada šis pirmojo žingsnio sujungimas gali sukelti konfliktų arba sukelti tikrą sujungimą.

Jei taip, galite naudoti git rebase vietoj to. Kita vertus, jei niekada nedarote savo įsipareigojimų demo, tu net ne reikia a git suliejimo strategijos parinktys atšaka. Ta pati logika galioja ir master, nors jūs darote sujungimą ant master, todėl jums tikrai reikia master. Tarkime, kad niekada nedarote savo įsipareigojimų demo.

Atkreipkite dėmesį, kad visi trys metodai gali nepavykti: sulieti gali nepavykti su konfliktu, sujungti su --ff-only gali nepavykti greitai persikelti į priekį, o git suliejimo strategijos parinktys bazė gali nepavykti kilus konfliktui perkūrimas iš esmės prekiauti manekeno epubu rinkimas įsipareigoja, kuri naudoja susijungimo mechanizmus ir todėl gali sukelti susijungimo konfliktą.

Tai yra vienas geriausių paaiškinimų nieko ant SO. Visų pirma, suskirstymas ir pavyzdinis klausimas su -X ours prieš -X theirs buvo be galo naudinga. Sprendimas, kurį radau, buvo naudoti git merge -s ours branch. Atkreipkite dėmesį, kad parinktis yra -s ir ne -X. Žingsniai, kur oldbranch yra šaka, kurią norite perrašyti newbranch.

Breadcrumb

Tai išsprendė konfliktą išsprendė nesuderinamus failustačiau failas nėra sujungtas. Ir negali nei sujungti.

How To Use GIT and SourceTree - For Beginners

Šis sujungimo būdas pridės vieną įsipareigojimą master kuris įklijuojamas bet kurioje vietoje feature, nesiskundžiant konfliktais ar kitais šūdais. Tai veikė, kai įsipareigojimai nebuvo švariai sujungiami. Tačiau cituoti šaltinį ne visada Changes from the other tree that do not conflict with our side are reflected in the merge result.

Man tai neveikė, nes turėjau savo filiale, kuris buvo perrašytas, švariai sujungtus įsipareigojimus. Ar yra koks kitas būdas?

paprasti bdai gauti papildom pinig i nam geriausios prekybos strategijos techninė analizė

Pakeitimai iš kito medžio, kurie neprieštarauja mūsų pusei, atsispindi sujungimo rezultate. Dvejetainio failo atveju visas turinys paimamas iš mūsų pusės.

Taigi aš tiesiog noriu išmesti visą turinį staging į email kad jie abu nurodytų tą patį įsipareigojimą. Ar tai įmanoma? Gautą istoriją galite rasti plumbing demonstracinės talpyklos filialas Nelabai įskaitoma ir ne taip lengva prisiminti, palyginti su -s ours perjungti, bet jis atlieka savo darbą. Štai nedidelis pavyzdys, parodantis du strategijos ir strategijos pasirinkimo rezultatų rezultatus.

Yra -X theirs taip pat, bet nėra aišku, kad būtent to iš tikrųjų nori OP. Jūs perskaitėte ne visą kelią. Jūsų užrašas apibūdina ką ours daro, kai naudojate vidinėje pusėje su -s variantą.

Naudojant ours su -X: Jis git suliejimo strategijos parinktys viską, ką darė kitas medis, skelbdamas, kad mūsų istorijoje yra visa, kas jame įvyko.

akcijų pasirinkimo sandoriai 9/11 slenkantys dvejetainių opcionų vidurkiai

Aš tikriausiai nesupratau to teisingai. Viena lengvai suprantama alternatyva yra tiesiog ištrinti šaką ir vėl ją sekti. Mano atveju norėjau pritraukti pokyčius iš tolimos šakos, kurie buvo stumiami jėga.