Minua on vaikea ymmärtää, koska en löytänyt toiminnoissa käytettyjen sanojen merkitystä. Olen tarkistanut sanakirjan ”vaihe” merkityksen, eikä mikään merkityksistä liittynyt lähdekontrollikäsitteisiin.

Mitä ”vaihe” tarkoittaa gitin yhteydessä?

Kommentit

  • liittyvät: Mikä on git ’ kahden etu -vaiheinen sitoutumisprosessi (lavastus)?
  • Gitillä on todellakin oma sanavarasto. Ja koska jokainen käsky on muotoiltu erityiseen sanastoon, on vaikea päästä alkuun. ” -vaihe ” on tehdä git add file.ext tietylle tiedostolle tai git add . vaikuttaa kaikkiin muokatuihin ja jäljittelemättömiin tiedostoihin. Tällä tavalla lisättyjen tiedostojen sanotaan olevan ” lavastettuja ” ja ne sisällytetään seuraavaan ” sitoutu ”. Sitoutuminen on tilannekuva luomastasi työstäsi esimerkiksi kanssa git commit -m "I wrote something".
  • Git on vaikea ymmärtää, koska siellä ei ole käsitteellistä opetusohjelmaa. Kaikki käyvät läpi tarpeettomia yksityiskohtia.
  • Tarkoititko poistaa ” -terminologian ” -tunnisteen tästä kysymyksestä? Se näyttää minulle täysin kelvolliselta tagilta.
  • Jostain syystä paras tapa ymmärtää lavastuksen merkitys on tästä Quoran vastauksesta: qr .ae / TbSK2I

Vastaa

Tiedoston vaiheistamiseen on yksinkertaisesti valmistautua siihen hienosti sitoutumista varten. Git, sen hakemiston avulla voit tehdä vain tietyt osat muutoksista, jotka olet tehnyt edellisen sitoutumisen jälkeen. Oletetaan, että työskentelet kahden ominaisuuden parissa – yksi on valmis ja toinen tarvitsee vielä jonkin verran työtä. Haluat sitoutua ja mennä kotiin (vihdoin kello!), Mutta et halua sitoutua toisen ominaisuuden osiin, mitä ei ole vielä tehty. Lavastat osat, jotka tiedät kuuluvan ensimmäiseen ominaisuus ja sitoutuminen. Nyt sitoutumisesi on projekti, jonka ensimmäinen ominaisuus on tehty, kun taas toinen on vielä keskeneräinen työhakemistossasi.

kommentit

  • hyvä selitys. Huomaa, että hajautettu git antaa sinun tietysti sitouttaa molemmat ominaisuudet, koska sitoumukset ovat paikallisia (aluksi). Voit silti haluta jakaa muutokset yhdeksi sitoumukseksi ominaisuutta kohden, ja lavastus on taas kätevää.
  • En ’ t ymmärrä, miksi tarvitset lavastusta tätä varten. Voin tehdä tämän HG: n tai jopa SVN: n kanssa tekemällä vain asiaankuuluvat tiedostot. Tuntuu siltä, että tämä ominaisuus on ensisijaisesti suunniteltu auttamaan ihmisiä, jotka vaativat työskentelemään komentorivillä missä se ’ s vaikeampaa t o tekemäsi valintaruudut.
  • @jiggy git antaa sinun vaihtaa tiedoston osan . Voit myös vaihtaa tiedoston, tehdä muita muutoksia ja sitouttaa sen tilan, jossa se oli vaiheessa. Voit ’ tehdä sen kumouksellisesti.
  • @jiggy SVN: ssä on jotain välillä sen ajankohdan välillä, jolloin valitset mitkä tiedostot / tiedostojen osat suoritetaan ja kun olet kirjoittanut sitoutumisviestin, se tallentaa valitut tiedostot / osat, jotka valitsit sitoutumaan. Sitä ei ehkä koskaan mainita nimenomaisesti, se voidaan toteuttaa SVN-asiakkaassa eikä varaston varsinaisessa osassa, se voi olla vain joitain lippuja muistissa, mutta se on SVN ’ s vaiheessa. En ole ’ tarkastellut HG: tä, mutta epäilen, että se tekee saman. Erona gitiin on se, että git tunnistaa asian olevan, tallentaa sen levylle ja antaa käyttäjän päästä siihen suoraan.
  • Toinen nuoli ” kuvan tiedostot ” saattavat olla harhaanjohtavia. ” vaiheen tarkennukset ” saattavat olla tarkempia?

Vastaa

Koska kaikki ovat toistaiseksi vastanneet siihen ”muodollisella” tavalla, anna minun tehdä tämä vaihtoehdoilla oppimisen tehostamiseksi metaforojen voimalla.

Joten lavastusalue on seuraava:

  • välimuisti tiedostoista, jotka haluat sitouttaa
  • ei sarja putkista, mutta itse asiassa kippiauto, joka on valmis siirtämään ladatun teoksen arkistoon
  • maaginen paikka, jossa valitut tiedostot muutetaan kiveksi velhosi avulla ja ne voidaan maagisesti kuljettaa arkisto mielesi mielestäsi
  • keltainen tiili tie, jolla tiedostot menevät onnellisesti arkistoon (tai putoavat, jos haluat palata)
  • kuvitteellinen paikka merisatamassa, jossa tiedostot vastaanotetaan pari sementtikenkiä ja heitetään sitten varastomerelle
  • kirjaston vastaanottotiski, laitat tiedostot kirjastonhoitajaan valmistautumaan arkistointiin kirjastoon
  • laatikko, johon laitat tavarat ennen kuin työnnät sen sängyn alle, jossa sänkysi on säilytyslaatikko laatikoista, jotka olet aiemmin työntänyt sisään
  • tiedostojen latausalue ennen kuin se menee arkistovarastoon voimakuormaaja
  • sähköisen tippakahvinkeittimen suodatin, jos viilat ovat kuin kahvijauhetta, sitoutuneet viilat ovat haudutettua kahvia
  • Scrooge McDuckin toimisto holvin vieressä, viilat ovat kuin kolikot ennen kuin ne menevät hänen massiivisen Rahalaatikkonsa holkkiin
  • lemmikkikauppa, kun tuot lemmikin kotiin, olet sitoutunut

Se on maaginen !

Kommentit

  • Rakasta analogioita ; tapa mennä bud ^ _ ^
  • Rakasta lopullista analogiaa.
  • Tämä vastaus oli ” EHDOLLISESTI ” tarvitaan yleisten yritysten keskuudessa selittämään git-indeksin = git-lavastuksen metafysiikka. Suoraan sanottuna minäkin ’ haluan tietää, mitä Linus ajatteli päättäessään haluavansa indeksialuetta. Pidän siitä, mutta haluan yksinkertaisesti ymmärtää paremmin, miksi ’ on hyvä saada se ja miten käyttää sitä tehokkaimmin.

Vastaa

Vaihe on askel ennen sitoutumisprosessia gitissä. Eli sitoutuminen gitissä suoritetaan kahdessa vaiheessa: vaiheittainen ja varsinainen sitoutuminen.

Niin kauan kuin muutosjoukko on lavastusalueella, git antaa sinun muokata sitä haluamallasi tavalla (korvaa vaiheitetut tiedostot muut vaiheistettujen tiedostojen versiot, poista muutokset vaiheistuksesta jne.).

Rikkoutuneen metaforan aika:

Harkitse skenaariota, jossa soitat muuttajille saadaksesi tavarasi vanhasta huoneistostasi uuteen huoneistoon. Ennen kuin teet sen, käydään läpi tavarasi, päätät mitä otat mukaasi ja mitä heität pois, pakkaat sen pusseihin ja jätät sen pääaulaan. Muuttajat yksinkertaisesti tulevat, hakevat (jo pakatut) pussit käytävältä ja kuljettavat ne. Tässä esimerkissä kaikki, kunnes muuttajat saavat tavarasi, on lavastusta: sinä päätät, mihin mennään, miten pakataan se ja niin edelleen (esim. Saatat päättää, että puolet tavaroistasi heitetään pois ennen kuin muuttajat edes pääsevät sinne – se ” s osa lavastusta).

Teknisestä näkökulmasta lavastus tukee myös tapahtumien tekemistä jakamalla kaikki toiminnot siihen, mikä voi epäonnistua (lavastus) ja mikä ei voi epäonnistua (sitoutua):

Sitoutuminen gitissä toteutetaan transaktioperiaatteella onnistuneen lavastuksen jälkeen. Useat vaiheet voivat epäonnistua (esimerkiksi sinun on sitouduttava, mutta kiintolevy on täynnä 99,9999%, eikä gitissä ole tilaa Tämä epäonnistuu lavastuksessa (osittainen sitoutuminen ei vahingoita tietovarastoa) ja vaiheistusprosessi ei vaikuta sitoutumishistoriaasi (se ei korruptoi arkistoa virheen sattuessa).

Kommentit

  • … ja toistaiseksi niin vähän ääniä.

Vastaa

Tiedoston vaiheistaminen tarkoittaa sen valmistelua sitoutumista varten. Koska git paljastaa tämän toiminnon käyttäjien hallintaan, sen avulla voit luoda osittaisia sitoumuksia tai muokata tiedostoa, vaihtaa sen, muokata sitä uudelleen ja sitoutua tai palata vain alkuperäiseen muokkaukseen.

Vaiheiden avulla voit tarkempi hallinta tarkalleen miten haluat lähestyä versionhallintaa.

vastaus

Jos haluat lisätä muihin erinomaisiin vastauksiin, täältä ”mistä” lavan nimi tulee:

Tarkistin sanakirjan vaiheen merkityksen eikä mikään merkityksistä liittynyt lähdekontrollikäsitteisiin.

Englanniksi ”to stage” voi tarkoittaa

järjestää ja osallistua (julkiseen tapahtumaan): UDF-kannattajia järjesti mielenosoituksen Sofiassa

(lähettäjältä http://oxforddictionaries.com/definition/stage )

Nimi ”staging” git-ominaisuudelle johtuu tästä merkityksestä: Valmistellessasi ja järjestät sitoumusta lavastettaessa.Tietysti sitoutuminen ei ole aivan sama kuin esitys, mutta se on tärkeä tapahtuma VCS: ssä :-).

Kommentit

  • I ’ olen ajatellut, että se sopii paremmin yhteen -vaiheessa
  • Sama. Lisäksi ” kohta, jakso tai vaihe prosessissa tai kehityksessä. ”
  • Myös ’ välipalvelin ’ on melko yleinen termi, jota käytetään kuvaamaan palvelinta, joka ’ on kehityksen ja tuotanto.

vastaus

”vaihe” on teknisesti vaadittu välivaihe tiedosto, nimittäin arkistoon lisättävien muutosten kerääminen. Gitin kirjoittajat päättivät tehdä tästä vaiheesta näkyvän ja jatkuvan, missä muut VCS: t tekevät siitä väliaikaisen osan sitoutumisprosessista. Joten se on vain vaihtoehto, jonka git antaa sinulle, koska se voi niin miksi ei?

Tapa, jolla näen sen, tärkein asia, jonka git ”vaihe” antaa sinulle, että muut VCS: t eivät ole, että voit käyttää sitä tiedoston tarkistamiseen. Se on käytännössä nimeämätön, kommentoimaton paikallinen sitoutuminen, joka antaa sinulle välivaiheen tehdään kaikella työlläsi ja sitoutetaan se pysyvästi arkistoon, eikä mitään ole tallennettu paikalliseen repoosi ollenkaan.

Oletetaan esimerkiksi, että sinulla on ominaisuus osittain valmis. Se on vakaassa tilassa, läpäisee kaikki testit ja voi mennä tuotantoon, mutta sinulla on vielä enemmän tehtävää. Voit vaiheistaa kaikki tekemäsi muutokset ja jatkaa sitten ominaisuuden käsittelyä.

Myöhemmin sinulla on mahdollisuus vain sitouttaa järjestämäsi (ja siirtää tämä sitoutuminen etätietovarastoon) tai lisätä uudet muutokset lavastusalueellesi ja sitoudu sitten kaikki kerralla, tai kumota vain uudet muutokset ja palauta työhakemistosi tilaan, jossa se oli, kun teit muutokset.

Se on täysin mahdollista ohittaa lavastusalue käytännössä kokonaan ja käytä -a -vaihtoehtoa vain git commit, jos et löydä lavastusaluetta hyödylliseksi käsitteeksi. Monet ihmiset ohittavat lavastamisen, ja GUI-työkalut sallivat tämän yleensä myös.

Kommentit

  • ” muu VCS don ’ t ” – mikä saa sinut ajattelemaan? Perforcen hyllyt näyttävät tekevän mitä kuvaat, ja jopa muutamalla ylimääräisellä kellolla ja pillillä
  • @gnat kyllä, tietysti monet muut VCS antavat sinulle jotain lavastusta. ” muulla VCS: llä ” tarkoitan muita VCS: itä, joilla ei ole

’ vaihe, koska siihen OP viittasi.

  • Löysin tämän vastauksen olevan äärimmäisen parempi kuin kaikki yllä mainitut, koska se ’ on ainoa, joka selventää miksi lavastus on olemassa ollenkaan (sitä vaaditaan teknisesti ), selitys sen alkuperästä ( Git ’ kirjailijat päättivät tehdä tästä vaiheesta näkyvän ja pysyvän ) ja lisäämällä siihen mielestäni hyvän määritelmän ( välitön, nimeämätön, kommentoimaton paikallinen sitoutuminen ) . Uskon kuitenkin, että sitä voitaisiin parantaa lainaamalla lähde lavastuksen alkuperää koskevalle lausunnolle ja selittämällä tarkemmin, miksi se ’ s teknisesti vaaditaan . @OldPro
  • Jos git suunniteltiin tyhjästä, tämä olisi voinut olla vain osa yleistettyä ” haaraa ” käsite, paikallinen ja muiden näkemä tässä tapauksessa. Samoin ” stash ” olisi voitu juuri toteuttaa (ja ymmärtää!) Yleisenä haara. ” Sinulla voi sitten olla mikä tahansa määrä tasoja ” -vaiheita ” haluat.
  • Vastaa

    Useimmissa muissa versionhallintajärjestelmissä on 2 paikkaa tallenna tiedot: työkopio (käyttämäsi kansiot / tiedostot) ja datakauppa (jossa versionhallinta päättää muutosten pakkaamisesta ja tallentamisesta). Gitissä on kolmas vaihtoehto: lavastusalue (tai hakemisto). Se on pohjimmiltaan lastauslaituri, josta saat selville, mitkä muutokset lähetetään.

    lähde: http://gitready.com/beginner/2009/01/18/the-staging-area.html

    Kommentit

    • tämä ei näytä lisäävän mitään merkittävää ’ edellisten 6 vastauksen yli.
    • Siinä mainitaan Hakemisto. Ja viittaukset erittäin perusteelliseen artikkeliin. Äänestys. BTW, jotkut yllä olevat vastaukset ovat vain vitsejä.

    Vastaus

    Ymmärtääkseni oletetaan, että kehitän kirjautumistoimintoa ja tarvitsen 5 peräkkäistä vaihetta. Joten tässä lavastus auttaa sinua työskentelemään vaiheissa, kuten
    tehty vaiheessa 1, tee se.
    tehdään vaiheessa 2, nyt vaiheet 1 ja 2 ovat molemmat oikeassa vaiheessa.
    sekaantuvat vaiheeseen 3 ei ongelmakassan viimeisin vaiheellinen vaihe, joka on vaihe 2 – samalla tavalla, kun olet tehnyt kaikki 5 vaihetta, mikä tarkoittaa, että ominaisuus on valmis, suorita nyt.

    Kommentit

    • tämä ei ’ näytä lisäävän mitään merkittävää aikaisemmin esitettyjen ja selitettyjen kohtien yli 9 vastausta
    • kyllä olet oikeassa, yritin vain tehdä selityksestä yksinkertaisen ja suloisen
    • Ja mitä minusta tuntuu käyttää tätä käsitettä, yritin selittää sen
    • harkitse tarkastella keskustelua täällä: Ovatko muut TL; DR-vastaukset hyväksyttäviä? (FWIW verrattuna aikaisempiin vastauksiin tämä ei ’ ei näytä minulle yksinkertaiselta eikä suloiselta)
    • kiitos sir, minulla on kysyttävä kysymys. Olen törmännyt moniin vastauksiin, ja useimmat niistä ovat liian monimutkaisia kyllä, ne ovat oikeita, mutta vaikeasti sulavia kerralla, uskon, jos voit ’ selittää mitään yksinkertaisella tavalla, sinä sitten eivät ole oppineet sitä kunnolla tai älä ’ tiedä miten sitä käytetään. Joten onko nyt huono laittaa yhteenveto tai yksinkertainen tapa vastata?

    Vastaa

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