Ultimate Guide to Git Merge ja Git Rebase

Tervetuloa perimmäinen opas git merge ja git rebase komennot. Tämä opetusohjelma opettaa sinulle kaiken mitä sinun tarvitsee tietää yhdistämällä useita oksat Git.

Git Merge

git merge komento yhdistää kaikki muutokset, jotka on tehty koodipohja on erillinen haara nykyisen haara uutena sitoutua.,

– komennon syntaksi on seuraava:

git merge BRANCH-NAME

esimerkiksi, jos olet tällä hetkellä työskentelee haara nimeltä dev ja haluaisin yhdistää kaikki uudet muutokset, jotka tehtiin haara nimeltä new-features, voit antaa seuraava komento:

git merge new-features

Huomautus: Jos on olemassa mitään sitovia muutoksia nykyisen haara Git ei anna yhdistää, kunnes kaikki muutokset nykyinen haara on tehty., Käsitellä näitä muutoksia, voit joko:

Luo uusi haara ja tehnyt muutokset,

git checkout -b new-branch-namegit add .git commit -m "<your commit message>"

– Stash niitä

git stash # add them to the stashgit merge new-features # do your mergegit stash pop # get the changes back into your working tree

Hylkää kaikki muutokset,

git reset --hard # removes all pending changes

Git Rebase

Rebasing sivuliikkeen Git on tapa siirtää kokonaisuudessaan haara toiseen kohtaan puussa. Yksinkertaisin esimerkki on oksan siirtäminen kauemmas puuhun., Sanoa, että meidän on haara, joka poikkesivat master haara pisteessä:

 /o-----o---o--o-----o--------- branch--o-o--A--o---o---o---o----o--o-o-o--- master

Kun olet rebase voit siirtää sen näin:

 /o-----o---o--o-----o------ branch--o-o--A--o---o---o---o----o--o-o-o master

rebase, varmista, että sinulla on kaikki sitoutuu haluat rebase oman master haara. Tutustu haara haluat rebase ja tyyppi git rebase master (jossa master on haara haluat rebase edelleen)., esimerkiksi haara, joka perustui toinen haara (kutsukaamme se ominaisuus) on rebased master:

 /---o-o branch /---o-o-o-o---o--o------ feature----o--o-o-A----o---o--o-o-o--o--o- master

Jälkeen git rebase master branch tai git rebase master kun olet tarkistanut ulos haara, saat:

 /---o-o-o-o---o--o------ feature----o--o-o-A----o---o--o-o-o--o--o- master \---o-o branch

Git rebase interaktiivinen konsoli

käyttää git rebase konsoli, jossa on luettelo sitoutuu voit valita, muokata tai lasku rebase:

  • Enter git rebase -i HEAD~5 viimeinen numero on mikä tahansa määrä sitoutuu viimeisimmästä taaksepäin haluat tarkastella.,
  • vim, paina esc, niin i aloittaa muokkaamalla testi.
  • vasemmalla puolella voit korvata pick yksi komennot alla. Jos haluat squash sitoutua osaksi edelliseen ja hävitä commit-viesti, kirjoita f paikka pick sekä sitoutua.
  • Tallenna ja lopeta tekstieditori.
  • Kun rebase on lakannut, tehdä tarvittavat säädöt, sitten käyttää git rebase --continue kunnes rebase on onnistunut.,
  • Jos se rebases onnistuneesti, sitten sinun täytyy pakottaa työntää muutokset git push -f lisää rebased versio remote repository.
  • Jos on yhdistää konfliktin, on olemassa useita tapoja korjata tämä, mukaan lukien seuraavat ehdotukset tässä oppaassa. Yksi tapa on avata tiedostot tekstieditorissa ja poistaa ne koodin osat, joita et halua. Sitten käyttää git add <file name> seuraa git rebase --continue., Voit ohittaa yli ristiriitainen toimitus kirjoittamalla git rebase --skip lopeta rebasing käynnissä git rebase --abort konsoliin.

Merge-Konflikteja

merge-konflikteja on, kun teet sitoutuu erillinen oksat, jotka muuttavat samalla linjalla ristiriitaisia tapoja.,mikä versio tiedosto pitää virhesanoma, joka muistuttaa seuraavaa:

CONFLICT (content): Merge conflict in resumé.txt Automatic merge failed; fix conflicts and then commit the result.

Jos katsotte resumé.txt tiedosto-koodi editori, voit nähdä, missä konflikti tapahtui:

<<<<<<< HEADAddress: 808 South Street=======Address: 505 North Street>>>>>>> updated_address

Git lisätty joitakin ylimääräisiä rivit tiedostoon:

  • <<<<<<< HEAD
  • =======
  • >>>>>>> updated_address

Git Merge vs Git Rebase

Molempien git merge ja git rebase ovat erittäin hyödyllisiä komentoja, ja yksi ei ole parempi kuin muut., On kuitenkin olemassa joitakin erittäin tärkeitä eroja kahden komennon välillä, jotka sinun ja tiimisi tulisi ottaa huomioon.

aina kun git merge ajetaan, syntyy ylimääräinen yhdistämissitoumus. Kun työskentelet paikallisessa arkistossa, liian monet yhdistämistoimitukset voivat saada commit-historian näyttämään hämmentävältä. Yksi tapa välttää yhdistämisen sitouttaa on käyttää git rebase sijaan.

git rebase on erittäin tehokas ominaisuus. On kuitenkin myös riskialtista, jos sitä ei käytetä oikealla tavalla., git rebase muuttaa toimituksen historiaa, joten käytä sitä varoen. Jos uudelleenpoistaminen tapahtuu etähallinnassa, se voi luoda paljon ongelmia, kun muut kehittäjät yrittävät vetää uusimmat koodimuutokset etähallinnasta. Muista ajaa vain git rebase paikallisessa arkistossa.

muuta sinun ei tarvitse tietää yhdistyäksesi ja uudelleensijoittuaksesi best of ’EMIn kanssa.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *