Oppin tällä hetkellä Gitin käyttöä lukemalla Pro Git . Tällä hetkellä olen oppinut haarautumisesta ja tunnisteista. Kysymykseni on, milloin minun tulisi käyttää haaraa ja milloin minun pitäisi käyttää tunnistetta?

Esimerkiksi sanon, että luon haaran projektin versiolle 1.1. Kun lopetan tämän version julkaisemisen, pitäisikö minun jättää haara merkitsemään julkaisuversio? Vai pitäisikö minun lisätä tunniste? Jos lisän tunnisteen, pitäisikö minun poistaa version haara (olettaen, että se on yhdistetty pää- tai muuhun haaraan) )?

Vastaa

Lyhyesti: Paras käytäntö on haarautuminen, sulautuminen usein ja pitäminen aina synkronoituna .

Koodisi säilyttämisestä erillisissä haaroissa päähaarasta on melko selkeät käytännöt:

  1. Olet toteuttamassa suuria tai häiritseviä muutoksia
  2. Olet noin tehdä joitain muutoksia, joita ei ehkä käytetä
  3. Haluat kokeilla jotain, josta et ole varma, että se toimii
  4. Kun sinua käsketään haarautumaan, muilla saattaa olla jotain, mitä heidän on tehtävä isännässä

Nyrkkisääntö on haarautumisen jälkeen, sinun on pidettävä synkronoinnissa isännän kanssa haara. Koska lopulta sinun on yhdistettävä se takaisin hallitsemaan. Välttääksesi valtavan monimutkaisen ristiriidan takaisin sulautuessasi sinun tulee sitoutua usein, yhdistää usein.

Noudatettavia hyviä käytäntöjä

Vincent Driessenin onnistuneella Git-haarautumismallilla on hyvät ehdotukset. Jos tämä haarautumismalli vetoaa sinuun, harkitse -virtalaajennuksen tekemistä . Toiset ovat kommentoinut kulkua .

Tunnistekäytännöt

Kuten jo tiedät, Git antaa sinulle sitoutumistunnuksia, kuten 1.0 -2-g1ab3183, mutta nämä eivät ole tunnisteita! Tunnisteiden tekeminen tapahtuu git-tagilla, ja git-tunnisteella luodut tagit ovat perusta sitoumustunnisteille, jotka git kuvaa. Toisin sanoen, et Git-tunnisteella et haaroita. Merkit sitoumuksia. On oikein sanoa, että tagi on vain merkinnällä osoitettu sitoumus.

Katsotaanpa käytännön esimerkkiä, joka osoitti sen,

 /-- [v1.0] v ---.---.---.---S---.---A <-- master \ \-.---B <-- test 

Olkoon ”s sitoutuminen” S ”sitoutunut osoittamaan tagilla” v1.0 ”. Tämä sitoutuminen on sekä haaran ”päällikkö” että haaran ”testi”. Jos suoritat " git kuvaa " sitoutumisen päälle ” ”(” Pää ”-haaran yläosassa) saat jotain v1.0-2-g9c116e9. Jos suoritat " git kuvaa " -sitoumuksen ”B” (alias ”testi” -haara) päälle, saat jotain v1.0-2-g3f55e41, näin on git-description-oletusasetuksissa. Huomaa, että tämä tulos on hieman erilainen. v1.0-2-g9c116e9 tarkoittaa, että olemme sitoutuneet lajiteltuun SHA-1-tunnukseen 9c116e9, 2 sitoutuu tagin v1.0. Tunnistetta v1.0-2 ei ole!

Jos haluat tagisi näkyvän vain haaran ”master” kohdalla, voit luoda uuden sitoutumisen (esim. Päivitä vain oletus / varatoiminto) versiotiedot GIT-VERSION-FILE-tiedostossa) ”testi” -haaran haarautumispisteen jälkeen. Jos merkitset sitoumuksen ”test” -haaraan esim. ”v1.0.3” se olisi näkyvissä vain testistä.

Viitteet

Olen löytänyt monia, monia hyödyllisiä blogeja ja viestejä, joista oppia. Kuitenkin ne, jotka ovat ammattimaisesti havainnollistettuja harvinaisia. Siksi haluaisin suositella viestiä – div div = = 8a46708faa ”>

Onnistunut Git-haarautumismalli , jonka on kirjoittanut @nvie. Olen lainannut hänen kuvansa:)

kirjoita kuvan kuvaus tähän

kommentit

  • 1.0-2-g1ab3183 on git-kuvauksen muodostama tunniste, joka on saatavana gitistä saatavista tiedoista, mutta kutsuminen sitä git-tunnisteeksi on hieman liikaa. Git tunnistaa SHA-hashilla; tunnisteet ja oksat ovat ihmisen rakenteita, joita git seuraa hyödyllisesti. Tee sellaisenaan tagi kun luulet jonkun ihmisen jonain päivänä haluavansa löytää kätevän kirjanmerkin sitoutumiseen.
  • upea esimerkki git-universumin moniulotteisuudesta. kaunis. kiitos
  • Se kannattaa panee merkille, että monilla hankkeilla ei ole tarvetta joillekin tässä kaaviossa esitetyistä kaistoista. Jotkut projektit tarvitsevat tässä vain kehitystyön ja ominaisuuden, jota ' kutsutaan. Tämä pätee usein verkkosovelluksiin, jotka voidaan ottaa käyttöön haluamallaan tavalla.
  • Jopa git flow: n kirjoittaja ei enää suosittele sitä monille projektityypeille, kuten verkkokehitykselle. Monet ihmiset uskovat, että se on paljon monimutkaisempi kuin valtaosa hankkeista tarvitsee, joten sen toteuttaminen on hankalaa ja väärin tekeminen on helppoa.Spektrin toisessa päässä jotkut edistyneiden ammattilaisten ryhmät käyttävät ' runkopohjaista kehitystä ', joka melkein ei koskaan käytä haaroja ollenkaan, ja toimittaa sellaisia onnistuneita projekteja. Jos haluat jotain välituotetta, harkitse " anti-gitflow '

Vastaa

Haaraa käytetään, jos sinulla on kaksi eri versiota arkistosta samanaikaisesti. Tunniste on tapa merkitä ajanhetki arkistoon.

Lisää tunniste julkaistun version merkitsemiseksi. Jos sinun on sitten tehtävä virhekorjauksia kyseiseen julkaisuun, luodaan haara tunnisteeseen.

Haluat poistaa vain haarat, jotka on yhdistetty takaisin HEADiin [tai johonkin muuhun haaraan].

Kommentit

  • Voi … ja oletan, että tarkoitat, että haara on sulautettu toiseen haaraan, kuten master. HEAD liikkuu joka kerta, kun suoritan kassan, eikö?
  • HEAD osoittaa yleensä haaraan (ellet ' ole irrotetussa HEAD-tilassa), joten HEAD liikkuu haara, johon se osoittaa

Vastaa

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