Git

Git Sammenlign to grene

Git Sammenlign to grene

Næsten alle versionskontrolsystemer har forgreningsmuligheder. Men Git er kendt for sine hurtige forgreningsfunktioner. Gitgrene er lette. Så præstationsstraffen for forgrening er minimal, og udviklingsteam opfordres til at forgrene sig og fusionere så meget som muligt. Men når du arbejder med flere grene, er det vigtigt at kunne sammenligne og kontrastere forskellene. I denne vejledning gennemgår vi en arbejdsgang for at se, hvordan vi kan sammenligne forskellige grene og forpligtelser.Lad os først oprette følgende situation:

C00 => C01 => C03 => C06 (master)

      \

       C02 => C04 => C05 (udvikling)

Følgende skridt blev taget:

Efter alle forpligtelser har 'master' -grenen følgende filer:

Hej Verden.py
readme.txt

Og 'udviklingsgrenen' har følgende filer:

Hej Verden.py
info.txt


Sammenligning af hovederne på to grene

Du kan bruge navnet på grenene til at sammenligne hovederne på to grene:

$ git diff master ... udvikling
diff --git a / hello_world.py b / hej_verden.py
indeks e27f806… 3899ed3 100644
--- a / hej_verden.py
+++ b / hej_verden.py
@@ -2,7 +2,7 @@
def hoved ():
print ("Første hej!")
- print ("Andet Hej!")
-
+ print ("Udviklingsgren siger Hej")
+ print ("Udviklingsgren siger Hej igen")
hvis __name__ == "__main__":
hoved ()
diff --git a / info.txt b / info.txt
ny filtilstand 100644
indeks 0000000… 0ab52fd
--- / dev / null
+++ b / info.txt
@@ -0,0 +1 @@
+Ny information
diff --git a / readme.txt b / readme.txt
slettet filtilstand 100644
indeks e29c296… 0000000
--- a / readme.txt
+++ / dev / null
@@ -1,2 +0,0 @@
-1 Første linje af readme.txt
-2 Anden række readme.txt

Diff-kommandoen ser rekursivt på ændringerne. Det har kørt følgende forskelle:

diff -git a / hello_world.py b / hej_verden.py
diff -git a / info.txt b / info.txt
diff -git a / readme.txt b / readme.txt

Her står 'a' for 'master' -grenen og 'b' for udviklingsgrenen. 'A' tildeles altid den første parameter og 'b' til den anden parameter.  / Dev / null betyder, at filialen ikke har filen.


Sammenligning mellem forpligtelser

I vores eksempel har 'master' -grenen følgende forpligtelser:

$ git status
På filialmester
intet at begå, arbejder bibliotek ren
$ git log - online
caa0ddd C06: Modificeret readme.txt for at tilføje anden linje (master gren)
efaba94 C03: Tilføjet readme.txt (master gren)
ee60eac C01: Modificeret hello_world.py for at tilføje andet hej (master gren)
22b4bf9 C00: Tilføjet hello_world.py (master gren)

Udviklingsgrenen har følgende forpligtelser:

$ git status
Om grenudvikling
intet at begå, arbejder bibliotek ren
$ git log - online
df3a4ee C05: Tilføjet info.txt (udviklingsgren)
0f0abb8 C04: Ændret hello_world.py for at tilføje udviklingsgren siger Hej igen (udviklingsgren)
3f611a0 C02: Ændret hello_world.py for at tilføje Udviklingsfilial siger Hej (udviklingsfilial)
22b4bf9 C00: Tilføjet hello_world.py (master gren)

Antag, at vi vil sammenligne hello_world.py for C01 og C02 forpligter. Du kan bruge hashes til at sammenligne:

$ git diff ee60eac: hello_world.py 3f611a0: hello_world.py
diff --git a / ee60eac: hello_world.py b / 3f611a0: hello_world.py
indeks e27f806… 72a178d 100644
--- a / ee60eac: hej_verden.py
+++ b / 3f611a0: hej_verden.py
@@ -2,7 +2,7 @@
def hoved ():
print ("Første hej!")
- print ("Andet Hej!")
+ print ("Udviklingsgren siger Hej")
hvis __name__ == "__main__":
hoved ()

Du kan også bruge det samme princip til at sammenligne forpligtelser inden for samme gren.


Visuelle fletningsværktøjer

Det kan være svært at se på tekstbaserede sammenligninger. Hvis du konfigurerer Git difftool med en visuel fletningsapplikation som DiffMerge eller BeyondCompare, vil du kunne se forskelle bedre.

Yderligere studier:

Referencer:

Bedste spil at spille med håndsporing
Oculus Quest introducerede for nylig den gode idé om håndsporing uden controllere. Med et stadigt stigende antal spil og aktiviteter, der udfører supp...
Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...
Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...