Nehezen érthető a git, mivel nem találtam a műveletekhez használt szavak jelentését. Megvizsgáltam a szótárban a “szakasz” jelentését, és egyik jelentés sem kapcsolódott a forrásvezérlés fogalmaihoz.

Mit jelent a “szakasz” a git kontextusában?

Megjegyzések

  • kapcsolódó: Mi a git ‘ kettő előnye szakaszos elkövetési folyamat (színpadra állítás)?
  • A Git valóban rendelkezik saját szókincsével. És mivel minden utasítás a speciális szókincsben van megfogalmazva, nehéz elkezdeni. A ” szakaszhoz ” annyit kell tennie, hogy git add file.ext egy adott fájlhoz, vagy git add . az összes módosított és nem követett fájl hatására. Az ilyen módon hozzáadott fájlokról azt mondják, hogy ” szakaszosak “, és a következő ” elkövetni “. Az elkötelezettség pillanatkép a munkádról, amelyet pl. a következővel: git commit -m "I wrote something".
  • A Git-et nehéz megérteni, mert nincs ott fogalmi bemutató. Mindegyik felesleges részleteket mutat be.
  • Arra gondolt, hogy eltávolítja a ” terminológia ” címkét ebből a kérdésből? Számomra tökéletesen érvényes címkének tűnik.
  • Valamilyen oknál fogva a Quora-ban adott válaszból a legjobban meg tudom érteni a rendezés fontosságát: qr .ae / TbSK2I

Válasz

Egy fájl színpadra állításához egyszerűen az, hogy finoman előkészítse egy elkötelezettségre. A Git az indexével lehetővé teszi, hogy csak a legutóbbi elkötelezettség óta elvégzett változtatások bizonyos részeit hajtsa végre. Mondja, hogy két funkcióval dolgozik – az egyik befejeződött, és a másiknak még mindig szüksége van némi munkára. Szeretne elköteleződni és hazamenni (végül 5 o “óra!), De nem szeretné elkötelezni a második funkció egyes részeit, ami még nem történt meg. Te állítja be azokat a részeket, amelyekről tudod, hogy az elsőhöz tartoznak funkció és elkötelezettség. Most az elkötelezettség a projekt az első funkcióval, míg a második még folyamatban van a munkakönyvtárban.

megjegyzések

  • jó magyarázat. Ne feledje, hogy a terjesztett git nyilvánvalóan lehetővé teszi mindkét funkció végrehajtását, mivel az elkötelezettségek lokálisak (eleinte). Ennek ellenére érdemes feloszthatnia a módosításokat egy funkciónkénti egy elkötelezettségre, és az átépítés ismét jól jön.
  • Nem ‘ t megérteni, miért van szükség ehhez szakaszra. Ezt HG-vel vagy akár SVN-vel is megtehetem, csak a releváns fájlok végrehajtásával. Úgy érzem, hogy ezt a funkciót elsősorban azoknak az embereknek tervezték, akik ragaszkodnak ahhoz, hogy a parancssorral ott dolgozzanak, ahol div id = “368f733e60”>

s nehezebb t o jelölje be a jelölőnégyzeteket, hogy mit követ el.

  • A @jiggy git lehetővé teszi a fájl része állítását. Létrehozhat egy fájlt, további módosításokat végezhet, majd elvégezheti azt az állapotot, amelyben az állomáson volt. ‘ ezt nem teheti meg felforgatásban.
  • @jiggy Az SVN-ben van valami, az idő között, amikor kiválasztja, mely fájlokat / fájlrészeket kívánja végrehajtani és amikor befejezi az elköteleződés üzenetének írását, az rögzíti, hogy mely fájlokat / részeket választotta ki a végrehajtáshoz. Lehet, hogy soha nem lesz kifejezetten megemlítve, lehet, hogy az SVN kliensben valósul meg, nem pedig a tárház tényleges részeként, lehet, hogy csak néhány zászló van a memóriában, de ez az SVN ‘ s színpad. Nem néztem ‘ HG-t, de gyanítom, hogy ugyanezt csinálja. A git különbsége az, hogy a git elismeri, hogy ez egy dolog, rögzíti a lemezre, és lehetővé teszi a felhasználó számára, hogy közvetlenül eljusson hozzá.
  • A második nyíl ” az ábrán szereplő ” fájlok félrevezetőek lehetnek. Előfordulhat, hogy a ” színpadi keresés ” pontosabb?
  • Válasz

    Mivel eddig mindenki “formális” módon válaszolt rá, hadd tegyem ezt alternatívákkal a tanulás metaforák erejével történő fokozása érdekében.

    Tehát a átmeneti terület a következő:

    • olyan fájlok gyorsítótára, amelyeket el akar kötni
    • nem sorozat csövekből, de valójában egy teherautóról, amely készen áll arra, hogy a betöltött munkát áthelyezze a tárolóba
    • egy varázslatos helyre, ahol a kiválasztott fájlokat kővé varázsolják a varázslóval, és varázslatosan el lehet vinni a adattár tetszés szerint
    • a sárga téglaút, amelyen keresztül a fájlok boldogan jutnak el az adattárba (vagy leesnek, ha vissza akarsz állni)
    • a fiktív hely a tengeri kikötőben, ahol fájlok találhatók kapnak egy pár cementcipőt, majd bedobják a lerakattengerbe
    • a könyvtár recepcióját, oda helyezi a fájlokat, hogy a könyvtáros felkészülhessen a könyvtárba iktatásra
    • egy doboz, ahová beteszed a dolgokat, mielőtt bedobnád az ágyad alá, ahol az ágyad olyan dobozok tárháza, amelyeket korábban betoltál
    • az állományok rakodóhelye, mielőtt azok a tároló raktárába kerülnének teljesítményrakodó
    • egy elektromos csepegtetős kávéfőző szűrője, ha a reszelők olyanok, mint a kávépor, akkor a lekötött dossziék a főtt kávé
    • a Scrooge McDuck irodája a páncélszekrény mellett, a dossziék olyanok, mint az érméket, mielőtt bemennek a hatalmas pénztároló páncélszekrényébe
    • az állatkereskedésbe, ha hazahoz egy háziállatot, elkötelezte magát

    Ez varázslatos !

    Megjegyzések

    • Szeressétek az analógiákat ; bud ^ _ ^
    • Szeresse a végső hasonlatot.
    • Ez a válasz ” SÉRTŐL ” szükséges a git index = git staging metafizikájának magyarázatához szükséges közös kísérletek tere között. Őszintén szólva, én ‘ is szeretném tudni, mire gondolt Linus, amikor úgy döntött, hogy indexterületet akar. Tetszik, de egyszerűen jobban szeretném értékelni, miért jó ‘, ha van, és hogyan lehet a leghatékonyabban használni.

    Válasz

    A szakaszolás egy lépés a git-en végrehajtási folyamat előtt. Ez azt jelenti, hogy a gitben történő elkötelezettséget két lépésben hajtják végre: szakaszolás és tényleges elkötelezettség.

    Amíg egy változáskészlet az átmeneti területen van, a git lehetővé teszi, hogy tetszés szerint szerkessze (lecserélje az átmeneti fájlokat szakaszos fájlok más verziói, távolítsa el a változásokat az állomásról stb.).

    Megszakadt metafora idő:

    Vizsgáljon meg egy olyan forgatókönyvet, ahol felhívja a költöztetőket, hogy a régi és az új lakás között eljussanak. Mielőtt ezt megtenné, átnézi a cuccait, eldönti, mit visz magával és mit dob el, zsákokba csomagolja és a fő folyosón hagyja. A költözők egyszerűen jönnek, a folyosóról előhozzák a (már becsomagolt) táskákat és elszállítják őket. Ebben a példában minden addig zajlik, amíg a költöztetők meg nem kapják a holmiját: ön dönti el, hogy mi merre megy, hogyan csomagolja és így tovább (pl. Eldöntheti, hogy a holmijának felét eldobják, mielőtt a költöztetők odaérnének – ez ” s a stádium része).

    Műszaki szempontból a stádium támogatja a tranzakciós elkötelezettségeket is, azáltal, hogy az összes műveletet felosztja arra, hogy mi bukhat el (staging) és mi nem bukhat el (elkövetni): / p>

    Az elkövetés a gitben tranzakcióval valósul meg, miután az átállítás sikeres. Az állomás több lépése sikertelen lehet (például el kell végeznie, de a HDD-je 99,9999% -kal megtelt, és a gitnek nincs helye végrehajtás végrehajtása). Ez sikertelen lesz az állomásoztatás során (az adattárat nem rontja meg egy részleges elkötelezettség), és az átmeneti folyamat nem befolyásolja az elkötelezettség előzményeit (hiba esetén nem sérti meg az adattárat).

    Hozzászólások

    • … és eddig kevés szavazat érkezett.

    Válasz

    A fájl színpadra állítása előkészíti azt egy elkötelezettségre. Mivel a git kiteszi ezt a műveletet a felhasználók kezébe, ez lehetővé teszi részleges elkötelezettségek létrehozását, vagy egy fájl módosítását, szakaszba állítását, újbóli módosítását, és csak az eredeti módosítás elvégzését vagy visszatérését.

    A szakaszolás lehetővé teszi finomabb vezérlés pontosan a hogyan megközelítésével szeretné elérni a verziókezelést.

    Válasz

    A többi kiváló válasz kiegészítéséhez íme a “színpad” neve:

    Ellenőriztem a szótárban a szakasz jelentését, és egyik jelentés sem kapcsolódott a forrásvezérlés fogalmaihoz.

    Angolul a „színpadra állítani” jelentése

    szervezés és nyilvános eseményen való részvétel: UDF támogatók tüntetést rendezett Szófiában

    ( http://oxforddictionaries.com/definition/stage )

    A git szolgáltatás “staging” elnevezése ebből a jelentésből származik: A staging során elkötelezettséget készít és szervez.Természetesen az elkötelezettség nem teljesen azonos az előadással, de ez egy fontos esemény a VCS-ben :-).

    megjegyzések

    • Én ‘ úgy gondoltam, hogy ez jobban illeszkedik a átmeneti bejegyzés li használatához >
    • Ugyanaz. Ezenkívül ” egy pont, periódus vagy lépés egy folyamatban vagy fejlesztésben. ”
    • szintén ‘ átmeneti kiszolgáló ‘ egy meglehetősen gyakori kifejezés egy olyan kiszolgáló leírására, amelyet ‘ a fejlesztés és a gyártás.

    Válasz

    A “szakasz” egy műszakilag szükséges közbenső lépés az ellenőrzés során fájlt, nevezetesen az adattárhoz hozzáadandó változtatások összegyűjtését. Git szerzői úgy döntöttek, hogy ezt a lépést láthatóvá és tartóssá teszik, ahol más VCS teszi az átmeneti részévé az elköteleződési folyamatot. Tehát ez csak egy lehetőség, amelyet a git megad, mert megteheti, miért ne?

    Ahogy én látom, a git “szakasz” az adja, hogy a többi VCS nem az, hogy használhatod egy fájl ellenőrzésére. Ez tulajdonképpen egy meg nem nevezett, nem kommentált helyi elkötelezettség, amely köztes lépést jelent teljes munkáddal véglegesen elkötelezem az adattár felé, és egyáltalán semmit nem ment a helyi repo.

    Például mondjuk azt, hogy egy funkciója részben elkészült. Ez stabil állapotban van, minden tesztet sikeresen teljesít, és gyártásba is belekezdhet, de még több munkád van rajta. Létrehozhatja az összes változtatást, majd folytathatja a funkció fejlesztését.

    Később lehetősége lesz arra, hogy csak elkövesse az előkészítetteket (és ezt az elköteleződést a távoli adattárba tolja), vagy hozzáadja a új változtatások az állomásterületen, majd ezt egyszerre kötelezzék el, vagy csak az új módosítások visszavonása és a munkakönyvtár visszaállítása abba az állapotba, amelyik a változtatások futtatásakor volt.

    Teljesen lehetséges hogy gyakorlatilag teljesen kihagyja az állomási területet, és csak a -a opciót használja git commit használatára, ha nem találja hasznosnak az állomásterületet. Sokan kihagyják a színpadra állítást, és a GUI eszközök általában ezt is lehetővé teszik.

    Megjegyzések

    • ” egyéb VCS don ‘ t ” – mi készteti Önt erre? Úgy tűnik, hogy a Perforce polcai amit leírsz, és még néhány további haranggal és síppal is
    • @gnat természetesen sok más VCS ad valami hasonlót a színpadra állításhoz. ” egyéb VCS ” alatt azt értem, hogy más VCS-ek, amelyek nem rendelkeznek

    ‘ szakasza, mivel erre hivatkozott az OP.

  • Ezt a választ rendkívül jónak találtam az összes fentinél, mivel ‘ ez az egyetlen, amely tisztázza, miért létezik egyáltalán a színpadképzés ( technikailag szükséges ), magyarázat az eredetére ( Git ‘ szerzők úgy döntöttek, hogy ezt a lépést láthatóvá és tartóssá teszik ), hozzátéve, amit én személy szerint jó definíciónak tartok ( köztes, meg nem nevezett, nem kommentált helyi elkötelezettség ) . Úgy gondolom azonban, hogy javítani lehetne azzal, ha idéznénk a színpadkép eredetéről szóló állítás forrását, és bővebben kitérnék arra, hogy miért ‘ s technikailag szükséges . @OldPro
  • Ha a gitet a semmiből tervezték, ez csak egy általánosított ” ág része lehetett ” koncepció, helyi és mások által ebben az esetben nem látható. Hasonlóképpen, ” stash ” éppen megvalósítható lett volna (és megérthető!) A ág. ” Ezután tetszőleges számú szintje lehet ” fokozatnak ” tetszik.
  • Válasz

    A legtöbb más verzióvezérlő rendszerrel 2 hely van adatok tárolása: a munkamásolat (a jelenleg használt mappák / fájlok) és az adattároló (ahol a verziókezelő dönti el, hogyan csomagolja és tárolja a módosításokat). A Git-ben van egy harmadik lehetőség: az átmeneti terület (vagy index). Alapvetően egy rakodóhelyről van szó, ahol meghatározhatja, hogy milyen változásokat szállítanak el.

    forrás: http://gitready.com/beginner/2009/01/18/the-staging-area.html

    Megjegyzések

    • úgy tűnik, hogy ez nem tesz fel ‘ semmit lényegeset az előző 6 válasz fölé.
    • Megemlíti az Indexet. És hivatkozások egy nagyon alapos cikkre. Szavazás. BTW, néhány fenti válasz puszta poén.

    Válasz

    Megértésem szerint tegyük fel, hogy fejlesztem a bejelentkezési funkciót, és 5 egymást követő lépésre volt szükségem. Tehát itt a színpadi előkészítés segít olyan lépéseken dolgozni, mint a
    az 1. lépéssel. Azt a 2. lépéssel végezzük, most az 1. és a 2. lépés egyaránt megfelelő.
    keverjük össze a 3. lépéssel nem probléma pénztár legújabb lépcső, ami a 2. lépés – ugyanúgy, ahogyan elvégezte mind az 5 lépést, ami azt jelenti, hogy a szolgáltatás befejeződött, most hajtsa végre a végrehajtást.

    Megjegyzések

    • ez úgy tűnik, hogy ‘ nem tesz semmit lényegeset az előzőekben elhangzott és kifejtett pontokhoz képest 9 válasz
    • igen, igazad van, én csak megpróbáltam egyszerűbbé és kedvesebbé tenni a magyarázatot
    • És hogy milyen érzésem van ezt a fogalmat használni, azt megpróbáltam elmagyarázni
    • fontolja meg, hogy egy pillantást vet az itteni beszélgetésre: Elfogadhatók-e a második TL; DR válaszok? (FWIW a korábbi válaszokhoz képest ez nem ‘ nekem nem tűnik egyszerűnek és nem is kedvesnek)
    • köszönöm uram, felteszek egy kérdést. Sok válaszra bukkantam, és a legtöbb túl összetett, igen, ezek helyesek, de nehezen emészthetők meg egyszerre. Úgy gondolom, hogy ha ‘ nem tud semmit egyszerűen megmagyarázni, akkor még nem tanulták meg megfelelően, vagy nem tudják, hogyan kell használni ‘. Tehát rossz most összefoglalót vagy egyszerű választ adni ??

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük