Git

Hogyan Git Rebase

Hogyan Git Rebase
git rebase olyan egyesítési segédprogram, mint a git összeolvad. De a működésük más.

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 - online

Né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 < E

Csakú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.

5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...
A League of Legends telepítése az Ubuntu 14-re.04
Ha rajongsz a League of Legendsért, akkor ez egy lehetőség arra, hogy teszteld a League of Legends játékot. Ne feledje, hogy a LOL a PlayOnLinux rends...