Mikä on paras prosessi koodin tarkistamiseksi GIT: tä käytettäessä? Meillä on ulkoinen GIT-palveluntarjoaja (Unfuddle) ja resursseilla on rajoituksia – joten emme voi omistaa erillisiä kaukovarastoja jokaiselle kehittäjälle.
Nykyinen prosessi:
- Me sinulla on GIT-palvelin, jolla on
master
haara, johon kaikki sitoutuvat - Kehittäjät työskentelevät paikallisen
master
peilin tai paikallinen ominaisuushaara - Devs push to server ”s
master
-haara - Devs pyytää koodin tarkistusta viimeisestä sitoutumisesta
Ongelma:
- Kaikki koodin tarkistusvirheet ovat jo masterissa, kun ne kiinni jää.
- Pahempaa, yleensä joku on palanut muutaman tunnin yrittäessään selvittääksesi mitä tapahtui …
Joten haluaisimme
- tarkistaa koodin ENNEN toimitusta ”päällikölle”.
- Pidä prosessi, joka toimii globaalin tiimin kanssa (ei olkapään yli arvosteluita!)
- jotain, joka ei vaadi yksittäistä kehittäjää olemaan työpöydänsä / koneensa kanssa virran saamiseksi, jotta joku muu voi etäkäyttää i n (poista ihmisriippuvuus, dev: t menevät kotiin eri aikavyöhykkeillä)
Käytämme TortoiseGIT-sovellusta visuaaliseen esitykseen muutettujen, erilaisten tiedostojen jne. luettelosta. Jotkut meistä pudota GIT-kuori, kun graafinen käyttöliittymä ei ole tarpeeksi, mutta ihannetapauksessa haluaisimme työnkulun olevan yksinkertainen ja käyttöliittymäpohjainen (haluan, että työkalu nostaa taakkaa, en kehittäjiäni).
Kommentit
- Suoritatko yksikkötestin ennen sitoutumista?
- @GuyCoder: Enimmäkseen me teemme.
- Jos isäntäsi ei tarjoa koodin tarkistusta saada parempi isäntä. Katso Gerrit ja katso, löydätkö sen tarjoavan isännän.
Vastaa
A yksinkertainen mutta tehokas malli on GitHub -vetopyyntömalli , jossa avustajatiedosto ”yhdistä koodissani” -pyynnöt. Ylläpitäjä tarkistaa muutosryhmät ja päättää, tarvitsevatko he lisää työtä vai sopivatko ne yhdistämiseen. Sitten hän voi sulautua päähaaraan. Toimittajat eivät yleensä saa työntää suoraan päähaaraan (tämä voidaan räätälöidä makusi mukaan, sallimme ”pienet” sitoutumiset mennä suoraan sisään).
Kommentit
- Meillä on tiukka 7 ammattitaitoisen kehittäjän tiimi (vs. nimettömät avustajat) maailmanlaajuisesti, joten on turvallista antaa jokaisen suoraan työntää kauko-ohjaajaamme. Vaikka se ' on linkki + intro vs. itsenäiset vastaukset, jotka pidän parempana, tässä tapauksessa sillä on järkeä. Suuri kirjoitus linkillä, kiitos!
- @Sid Kolmen hengen tiimin kanssa en antaisi ' antaa heidän kaikkien hallita.
- Vetopyynnöt ovat saatavana myös Rhodecode- ja Atlassian Stash -hankkeissa.
- @Andrew: Miksi ei? On monia ongelmia, jotka voivat syntyä kanavoimalla koko joukkueet toimimaan tukehtumispisteen kautta. Näitä kaikkia voidaan lieventää, mutta yhden pisteen komento- ja ohjausrakenne soveltuu paremmin joihinkin tilanteisiin kuin toisiin.
Vastaa
Git on hajautettu versionhallintajärjestelmä: Älä käytä vain yhtä repoa yhdellä haaralla!
Voit perustaa useita arkistoja – yhden kutakin kehittäjää varten – ja toisen, joka on päärepo. Kun yksi heidän haaroistaan on valmis yhdistettäväksi, kehittäjä pyytää yhdistämistä ja niiden muutokset vedetään sivuliikkeestä / reposta päälliköksi.
Ennen kuin sulautuminen todella tapahtuu, tarkastaja voi vetää muutokset ja tarkista ne ennen kuin ajaa heidät hallitsemaan.
Lisäetuna on, että tällä tavoin kehittäjällä voi olla niin monta haaraa kuin haluaa, nimetä mikä tahansa haluamasi sanat häiritsemättä toisiaan tai edes nähdä toistensa likaisen pyykin niin paljon.
Opi myös kieli: Tarkoitatko ”Devs sitoutuvat palvelimen päähaaraan” tarkoitatko heidän push heidän muutoksensa hallitsemaan?
Kommentit
- joo, he
push
heidän työnsä. Voimme ' meillä ei ole ainutlaatuisia etätietovarastoja GIT-palvelimella, koska maksamme GIT-palvelimelle ja ne veloittavat arkistoa kohden. Tarkoititko, että sinulla on useita etähaaroja kehittäjää kohti? Ja kun sanotthe reviewer can pull the changes into their environment
mitä tarkkoja GIT-komentoja (tai TortoiseGIT-kulkua) tarkoitat? - Ei, tarkoitan, että sinulla on useita arkistoja; yksi kutakin kehittäjää kohti, ja kyseisessä arkistossa heillä voi olla niin monta haaraa kuin haluavat. Mitä tulee
pull
-sivustoon, en tiedä, mitä komento olisi TortoiseGIT: ssä, mutta komento on git pull . ' on työn vastakohta – vetämällä muutoksia etätietovarastosta päivität ympäristösi työhön, jonka muut kehittäjät ovat saattaneet tehdä. - Tiedän
git pull
🙂 …Pyysin täydellistä syntaksia tarkistaaksesi repo- / haara- / tunnistejärjestelmän viittaamiesi työntöjen / vetojen varalta. Tällä hetkellä teemme joka tapauksessagit pull
, se ' on aivan kaukosäätimen ulkopuolella: mikä aiheuttaa ongelmat. Steven ' -linkit olivat joka tapauksessa hyvät. Kiitos - Tässä tapauksessa kaikkiin käytännön tarkoituksiin haara isännöityssä repossa on sama kuin toinen repo.