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~5viimeinen numero on mikä tahansa määrä sitoutuu viimeisimmästä taaksepäin haluat tarkastella., - vim, paina
esc, niinialoittaa muokkaamalla testi. - vasemmalla puolella voit korvata
pickyksi komennot alla. Jos haluat squash sitoutua osaksi edelliseen ja hävitä commit-viesti, kirjoitafpaikkapicksekä sitoutua. - Tallenna ja lopeta tekstieditori.
- Kun rebase on lakannut, tehdä tarvittavat säädöt, sitten käyttää
git rebase --continuekunnes rebase on onnistunut., - Jos se rebases onnistuneesti, sitten sinun täytyy pakottaa työntää muutokset
git push -flisää 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>seuraagit rebase --continue., Voit ohittaa yli ristiriitainen toimitus kirjoittamallagit rebase --skiplopeta rebasing käynnissägit rebase --abortkonsoliin.
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.