Ebben a cikkben arról fogok beszélni, hogy a Git rebase hogyan működik, a Git rebase és a Git közötti különbségek egyesülnek, és hogyan kell működni a Git rebase programmal. Tehát kezdjük.
Git Rebase:
Tegyük fel, hogy van egy Git-tárod a bekötésekkel A, B, C ban,-ben fő- ág. Ezután létrehozott egy új fiókot valakinek és hozzáadott 2 új vállalást D és E hoz valakinek ág.
1. ábra: kezdeti elkövetési előzmények.
Mondjuk, elfelejtett hozzáadni valamit a fő- ág. Szóval, visszatérsz a fő- ágat és adjon hozzá egy új elköteleződést G hoz fő- ág. A git előzményeinek a következőképpen kell kinéznie.
2. ábra: Kötelezettörténet, miután hozzáadta a G elkötelezettséget a főághoz.
Minden jól néz ki. Ha most minden változtatást szeretett volna végrehajtani a valakinek ág, hogy a fő- ág, egyesítheti a valakinek ága a fő- ág. Ez az, ami git összeolvad csinálni.
Mi van, ha akarod az elkötelezettséget G hogy elérhető legyen a valakinek ág? Nos, erre használhatja a git rebase-t.
A 2. ábrán szereplő elköteleződési előzményekből láthatja, hogy az elágazás valakinek az elkötelezettségből indul C. Ha git újrabázist hajt végre valakinek, akkor az elkötelezettségből indulna ki G az alábbi 3. ábrán látható módon. Ne feledje, hogy a kötelezettség tartalma D és E az újrabázis művelet után is megváltozik. Elköveti D és E magában foglalja a változásokat a kötelezettségvállalásban G. Ezért tettem hozzá * szimbólum az elkövetés előtt D és E.
Ha tudni szeretné, hogy nézne ki az elkötelezettség előzménye, ha összevonnám, akkor vessen egy pillantást a 4. ábrára. Csak azért vettem fel, hogy összehasonlítani tudja a git rebase-vel.
4. ábra: történelem készítése, ha git egyesítést alkalmaztak.
Most, hogy tudja, mi a git rebase, a git rebase és a git egyesülése közötti különbség és a git rebase miért használt, a cikk következő szakaszában megmutatom, hogyan kell használni.
Git Rebase munkafolyamat:
Ebben a szakaszban létrehozok egy új git adattárat a helyi számítógépemen, és megmutatom, hogyan működik a git újraindítása. Javaslom, hogy jól ismerje a git rebase-t, mielőtt alkalmazza a projektjén.
Először hozzon létre egy új Git-adattárat rebase-demo / számítógépén az alábbiak szerint:
$ git init újrabázis-demo
Most keresse meg a rebase-demo / könyvtárat az alábbiak szerint:
$ cd rebase-demo /
Most hozzon létre egy új fájlt teszt.txt alábbiak szerint:
$ echo "A"> teszt.txt
A teszt.A txt fájl csak egy sort tartalmaz A. Tegyük fel, hogy ez a kezdeti projektkódod.
Most hajtsa végre a módosításokat az alábbiak szerint:
$ git add .$ git elkötelezettség -m 'A'
Most adjon hozzá egy újabb sort B hoz teszt.txt fájlt az alábbi képernyőképen látható módon.
Most hajtsa végre a módosításokat az alábbiak szerint:
$ git add .$ git elkötelezettség -m 'B'
Most adjunk hozzá egy másik C sort a teszt.txt fájl.
Végezze el a módosításokat az alábbiak szerint is:
$ git add .$ git elkötelezettség -m 'C'
Most a fő ág elkötelezett történetének a következőképpen kell kinéznie:
$ git log - online
Tegyük fel, hogy van néhány új ötlete, amelyet ki szeretne próbálni. Tehát hozzunk létre egy új fiókot, és fizessünk be egy új fiókba új funkció alábbiak szerint:
$ git checkout -b new-feature
Most add hozzá az új ötletedet (a sort D mondjuk) a teszt.txt fájl.
Most hajtsa végre a módosításokat az alábbiak szerint:
$ git add .$ git elkötelezettség -m 'D'
Most adja hozzá az E sort a teszt.txt fájl.
Végezze el a változásokat az alábbiak szerint:
$ git add .$ git elkötelezettség -m 'E'
Most pedig a új funkció ágnak a következőképpen kell kinéznie:
$ git log - onlineNézze meg, milyen a sorrend a A sorrendben < B < C < D < E?
Most emlékszel, hogy elfelejtett hozzáadni valamit a fő- ág, amelyben ön is szeretett volna lenni új funkció ág! Tehát, pénztár a fő- ág.
A sor végén új sort adtam teszt.txt fájl, amint láthatja.
Most hajtsa végre a módosításokat az alábbiak szerint:
$ git add .$ git elkötelezettség -m 'G'
Most pedig a fő- ágnak így kell kinéznie.
A < B < C < G
Most, hogy újraértékelje a fő- ága a új funkció fiók, első fizetés a új funkció ág.
$ git checkout új funkció
Most végezz el egy git újrabázist a fő- ág az alábbiak szerint:
$ git rebase master
Néhány egyesíti a konfliktust! Javítsuk ki.
Nos, a változtatások, amelyeket végrehajtottam az elkötelezettségen G és D ellentmondanak egymással. Mindkettőt meg akarom tartani.
Az egyesítési konfliktus kijavítása után a teszt.txt fájlnak a következőképpen kell kinéznie:
Most adja hozzá a változtatásokat az átmeneti területhez az alábbiak szerint:
$ git add .
Most folytassa az újrabázist az alábbiak szerint:
$ git rebase - folytassa
Újabb összeolvadási konfliktus! Nos, ez megtörténhet. Rebase megváltoztatja a git elkötelezettség előzményeit. Szóval, ilyen dolgok várhatók.
Úgy tűnik, hogy az egyesítési folyamat néhány üres sor miatt kudarcot vallott. Javítsuk ki.
Az egyesítési konfliktus kijavítása után a teszt.txt fájlnak a következőképpen kell kinéznie.
Most adja hozzá a változtatásokat az átmeneti területhez az alábbiak szerint:
$ git add .
Most folytassa az újrabázis műveletet az alábbiak szerint:
$ git rebase - folytassa
A Git újrabázis befejeződött.
Amint láthatja, az új szolgáltatás fiókjának előzményei frissülnek. Most az elkötelezettség története a következő:
A < B < C < G < D < ECsakúgy, mint az várható volt.
A végső teszt.txt fájlnak a következőképpen kell kinéznie.
A Git rebase hatékony eszköz. De soha nem szabad megosztott Git tárhelyeken használni. Csak azokon a Git-tárolókon használja, ahol csak Ön dolgozik. Ellenkező esetben sok problémával kell szembenéznie útközben.
Tehát így használja a git rebase-t. Köszönjük, hogy elolvasta ezt a cikket.