Useimmat koodi integraatiot tapahtua yhdistää, mutta joskus kehittäjä haluaa saada heidän paikallisen koodin kiinni master-haaran kautta rebase sijaan. Tässä esimerkissä osoitamme, miten git rebase haara hallita sijaan käyttää yhdistämistä komento, ja samalla osoittaa vaikutus suorittaa git rebase master operation.

Mitä Git rebase master tarkoittaa?,

tässä opetusohjelmassa, me otamme haara nimeltä kehittää ja rebase sen päälle kärki mestari.

kehittää haara erosi mestari sitoutua C, joten molemmat oksat jakaa tiedostoja a.html, b.html ja c.html. Katso alla oleva kuva, joka auttaa visualisoimaan tämän.

Koska haara tapahtunut, mestari on lisätty sitoutuu D ja E. Tämä tarkoittaa, että mestari on kaksi-tiedostoja, jotka kehittävät ei ole, eli d.html ja e.html.,

Tämä on miten Git repository näyttää, ennen kuin git-rebase hallita.

Lisäksi, koska split, on ollut kaksi uutta sitoutuu kehittää haara, lisäämällä tiedostot f.html ja g.html. Nämä ovat tiedostoja develop branch on, että master branch ei.

Tämä on miten GitLab repository näyttää sen jälkeen, kun git rebase hallita.,

Vaikutus Git rebase

sen Jälkeen onnistunut kehittämään branch master rebase:

  • tiedostot master haara ei muuta
  • kehittää haara tulee lisäksi hankkia kaikki master haara on uusia tiedostoja
  • kehittää stream on haara kohta muuttuu.
    • näyttää siltä kuin kehityshaara jakautuisi commit E: n jälkeen master Branchissa.
    • Ennen rebase, kehittää haara jakautui mestari sitoutua C.,

Git rebase master command syntax

toiminta suorittaa Git rebase master on suoraan eteenpäin. Liitä komennon loppuun vain lähdehaaran nimi ja sitten haaran nimi uudelleen. Voit rebase kehittää master-komento on seuraava:

git rebase master develop

Varoitus: on git rebase päälle kytkin, joka joskus kehittäjät virheellisesti uskoa, ne täytyy sisällyttää kanssa rebase-komento. Tämä aiheuttaa sen, että toimitukset diskataan ja tiedostot menetetään., Älä tee virhettä suorittaa git rebase päälle toiminta.

Ennen rebase, kehittää haara oli vain viisi tiedostoja.

Jokainen haara on viisi tiedostoja, ennen kuin git-rebase hallita toiminta.

git-rebasen jälkeen master, develop-haarassa on seitsemän tiedostoa. Se on säilyttänyt kaikki alkuperäiset tiedostonsa ja hankkinut kaksi uutta tiedostoa mestarihaaran kärjestä., Mestarihaaran tiedostojen määrä pysyy kuitenkin ennallaan.

sen Jälkeen, kun git rebase ja kehittää hallita, kehittää haara hankkii kaikki master-tiedostoja.

se, että master-haara ei ole hankkia mitään tiedostoja kehittää haara usein heittää uusi Git käyttäjät pois, mutta tämä on odotettua toimintaa. Git-rebaasi ei synkronoidu oksien välillä. Se vain saa yhden oksan kiinni uusimmilla muutoksilla toisesta.,

useita tiedostoja kehittää lisää, kun git rebase hallita.

Edetä varoen

Kun Git rebase tapahtuu, arkisto on tehnyt historia on peruuttamattomasti muuttunut. Kun rebase tässä esimerkissä, sitoutuu F ja G ovat määritetty upouusi tehnyt tunnukset, ja vanha sitoutua tunnukset poistetaan käytöstä. Tämän vuoksi näet usein rebased sitoutuu merkitty F’ ja G’ korostaa sitä, että uuden tehnyt tunnukset on annettu.,

Jos sinulla rebase haara jaettu toinen kehittäjä ja työntää muutokset takaisin GitHub tai GitLab, kaveri kehittäjä törmätä useita tai ongelmia, kun he yrittävät vetää rebased repository heidän paikallinen kehitysympäristö. Sitoutuu ne ovat paikallisesti on kadonnut kaukosäätimen ja kauko-haara on yhteensopimaton haara historia. Kuten voitte kuvitella, yhteisen oksan nujertaminen tai Git-sitoumusten litistäminen voi aiheuttaa Havokin.,

Rebase GitHub tai GitLab

Itse asiassa, jos olet rebase ja yrittää työntää GitLab tai GitHub palvelin ei salli suoritettava operaatio. Voit rebase GitHub tai GitLab, kehittäjän täytyy lisätä –force kytkin git push-komennolla pakottamaan muutokset voidaan hyväksyä.

git push origin --force

GitLab tai GitHub rebase työntö hylätään, ellei pakko.,

hyväksytty logiikka on vain git rebase hallita oksat paikallinen henkilökohtainen työtila. Siten Git: n siivouskomennot eivät vaikuta kehenkään muuhun. Älä suorita git rebase hallita oksat jaettu muiden kehittäjien kanssa. Herraksi kääntyminen on ihan ok, mutta ei toisinpäin. Muuten olet todennäköisesti rikkoa rakentaa ja työnnä tai vedä toiminnot tulee laittaa stand-by, tyhjäksi jatkuva kehittäminen ja tehdä sinulle ei-toivotuksi henkilöksi muun kehittäjät ja DevOps-tiimi.

Vastaa

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