Szinte az összes verzióvezérlő rendszer rendelkezik elágazási lehetőségekkel. De a Git gyors elágazási képességeiről ismert. A git ágak könnyűek. Tehát az elágazásért járó teljesítménybüntetések minimálisak, és a fejlesztő csapatokat arra ösztönzik, hogy amennyire csak lehetséges, elágazásra és egyesülésre. De ha több ággal dolgozik, fontos tudni összehasonlítani és szembeállítani a különbségeket. Ebben az oktatóanyagban egy munkafolyamaton megyünk keresztül, hogy lássuk, hogyan tudjuk összehasonlítani a különféle ágakat és kötelezettségeket.Először állítsuk be a következő helyzetet:
C00 => C01 => C03 => C06 (master)
\
C02 => C04 => C05 (fejlődés)
A következő lépéseket tették:
- C00: Hozzáadott hello_world.py (főág)
- - Létrehozta a fejlesztési ágat
- C01: Módosított hello_world.py a második hello hozzáadásához (master branch)
- C02: módosított hello_world.A Fejlesztési fiók hozzáadása a Hello-t mondja (fejlesztési ág)
- C03: Hozzáadott readme.txt (főág)
- C04: Módosított hello_world.A Fejlesztési fiók hozzáadása a Hello-t ismét mondja (fejlesztési ág)
- C05: Hozzáadott információ.txt (fejlesztési ág)
- C06: Módosított readme.txt a második sor hozzáadásához (master ág)
Az összes végrehajtás után a "master" ág a következő fájlokkal rendelkezik:
Helló Világ.py
readme.txt
És a 'fejlesztés' ágnak a következő fájljai vannak:
Helló Világ.py
info.txt
Két ág fejének összehasonlítása
Az ágak nevével összehasonlíthatja két ág fejét:
$ git diff master… fejlesztésdiff --git a / hello_world.py b / hello_world.py
index e27f806… 3899ed3 100644
--- a / hello_world.py
+++ b / hello_world.py
@@ -2,7 +2,7 @@
def main ():
print ("Először Helló!")
- print ("Második Helló!")
-
+ print ("A fejlesztési ág köszönti")
+ nyomtatás ("A fejlesztési ág ismét köszönetet mond")
ha __name__ == "__main__":
fő()
diff --git a / info.txt b / info.txt
új fájlmód 100644
index 0000000… 0ab52fd
--- / dev / null
+++ b / info.txt
@@ -0,0 +1 @@
+Új információ
diff --git a / readme.txt b / readme.txt
törölt fájl mód 100644
index e29c296… 0000000
--- a / readme.txt
+++ / dev / null
@@ -1,2 +0,0 @@
-1 A readme első sora.txt
-2 A readme második sora.txt
A diff parancs rekurzívan vizsgálja a változásokat. A következő diff-eket futtatta:
diff -git a / hello_world.py b / hello_world.py
diff -git a / info.txt b / info.txt
diff -git a / readme.txt b / readme.txt
Itt az „a” a „master” ágat, a „b” pedig a fejlesztési ágat jelenti. Az 'a' mindig az első, a 'b' a második paraméterhez van rendelve. A / dev / null azt jelenti, hogy az ágnak nincs fájlja.
Összehasonlítva az elkövetéseket
Példánkban a „master” ág a következő elkövetéseket hajtja végre:
$ git állapotFiókmesteren
nincs mit elkötelezni, tiszta a könyvtár
$ git log - online
caa0ddd C06: Módosított readme.txt a második sor hozzáadásához (master ág)
efaba94 C03: Hozzáadott readme.txt (főág)
ee60eac C01: Módosított hello_world.py a második hello hozzáadásához (master ág)
22b4bf9 C00: Hozzáadott hello_world.py (főág)
A fejlesztési ág a következő kötelezettségeket vállalja:
$ git állapotA fióktelep fejlesztéséről
nincs mit elkötelezni, tiszta a könyvtár
$ git log - online
df3a4ee C05: Hozzáadott információ.txt (fejlesztési ág)
0f0abb8 C04: módosított hello_world.A Fejlesztési fiók hozzáadása a Hello-t ismét mondja (fejlesztési ág)
3f611a0 C02: módosított hello_world.A Fejlesztési fiók hozzáadása a Hello-t mondja (fejlesztési ág)
22b4bf9 C00: Hozzáadott hello_world.py (főág)
Tegyük fel, hogy szeretnénk összehasonlítani a helló világot.py a C01-re és a C02-re vállal. A hasheket összehasonlíthatja:
$ git diff ee60eac: hello_world.py 3f611a0: hello_world.pydiff --git a / ee60eac: hello_world.py b / 3f611a0: hello_world.py
index e27f806… 72a178d 100644
--- a / ee60eac: szia_világ.py
+++ b / 3f611a0: szia_világ.py
@@ -2,7 +2,7 @@
def main ():
print ("Először Helló!")
- print ("Második Helló!")
+ print ("A fejlesztési ág köszönti")
ha __name__ == "__main__":
fő()
Ugyanezt az elvet használhatja az ugyanazon ágon belüli elkötelezettségek összehasonlítására is.
Visual Merge Tools
A szöveges összehasonlítások vizsgálata nehéz lehet. Ha olyan vizuális egyesítési alkalmazással állítja be a Git difftoolt, mint a DiffMerge vagy a BeyondCompare, akkor jobban láthatja a különbségeket.
A további vizsgálat:
- Git Diff dokumentáció
- Git DiffTool dokumentáció
- DiffMerge Setup a DiffTool segítségével
- BeyondCompare Setup és DiffTool
Referenciák:
- Git bemutató: Diff and Merge Tools, YouTube
- http: // coding4streetcred.com / blog / post / configure-diffmerge-for-your-git-difftool
- http: // gitbaby.com / how-to-diff-one-file-to-an-arbitrary-version-in-git.html
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging
- https: // git-scm.com / book / id / v2 / Git-Branching-Branches-in-a-Dióhéj
- https: // git-scm.com / docs / git-diff
- https: // git-scm.com / docs / git-difftool
- https: // sourcegear.com / diffmerge /
- https: // sourcegear.com / diffmerge / webhelp / sec__git__linux.html
- https: // stackoverflow.com / questions / 9834689 / two-branch-in-git összehasonlítása
- https: // veerasundar.com / blog / 2011/06 / git-tutorial-fájlok összehasonlítása a-diff-vel /
- https: // www.robogó szoftver.com / features.php
- https: // www.robogó szoftver.com / support.php?zz = kb_vcs