Git

Git Jämför två grenar

Git Jämför två grenar

Nästan alla versionskontrollsystem har förgreningsalternativ. Men Git är känt för sina snabba förgreningsfunktioner. Git grenar är lätta. Så prestationsstraffen för förgrening är minimala och utvecklingsteam uppmuntras att förgrena sig och slå ihop så mycket som möjligt. Men när du arbetar med flera grenar är det viktigt att kunna jämföra och kontrastera skillnaderna. I denna handledning kommer vi att gå igenom ett arbetsflöde för att se hur vi kan jämföra olika grenar och åtaganden.Låt oss först ställa in följande situation:

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

      \

       C02 => C04 => C05 (utveckling)

Följande steg togs:

Efter alla åtaganden har "master" -grenen följande filer:

Hej världen.py
readme.Text

Och utvecklingsgrenen har följande filer:

Hej världen.py
info.Text


Jämför huvudet på två grenar

Du kan använda namnet på grenarna för att jämföra huvudet på två grenar:

$ git diff master ... utveckling
diff --git a / hello_world.py b / hej_värld.py
index e27f806… 3899ed3 100644
--- a / hej_värld.py
+++ b / hej_värld.py
@@ -2,7 +2,7 @@
def huvud ():
skriv ut ("Första hej!")
- skriva ut ("Andra Hej!")
-
+ skriva ut ("Utvecklingsgren säger Hej")
+ skriva ut ("Utvecklingsgrenen säger Hej igen")
om __name__ == "__main__":
huvud ()
diff --git a / info.txt b / info.Text
nytt filläge 100644
index 0000000… 0ab52fd
--- / dev / null
+++ b / info.Text
@@ -0,0 +1 @@
+Ny information
diff --git a / readme.txt b / readme.Text
raderat filläge 100644
index e29c296… 0000000
--- a / readme.Text
+++ / dev / null
@@ -1,2 +0,0 @@
-1 Första raden av readme.Text
-2 Andra raden av readme.Text

Diffkommandot tittar rekursivt på förändringarna. Den har kört följande skillnader:

diff -git a / hello_world.py b / hej_värld.py
diff -git a / info.txt b / info.Text
diff -git a / readme.txt b / readme.Text

Här står 'a' för 'master' -grenen och 'b' för utvecklingsgrenen. 'A' tilldelas alltid den första parametern och 'b' till den andra parametern.  / Dev / null betyder att filialen inte har filen.


Jämföra mellan åtaganden

I vårt exempel har "master" -grenen följande åtaganden:

$ git-status
På filialmästaren
inget att begå, arbetar katalogen ren
$ git log - online
caa0ddd C06: Modifierad readme.txt för att lägga till andra raden (huvudgren)
efaba94 C03: Lagt till readme.txt (huvudfilial)
ee60eac C01: Modifierad hello_world.py för att lägga till andra hej (huvudfilial)
22b4bf9 C00: tillagd hello_world.py (master branch)

Utvecklingsgrenen har följande åtaganden:

$ git-status
Om grenutveckling
inget att begå, arbetar katalogen ren
$ git log - online
df3a4ee C05: Tillagd info.txt (utvecklingsgren)
0f0abb8 C04: Modifierad hello_world.py att lägga till utvecklingsfilial säger Hej igen (utvecklingsfilial)
3f611a0 C02: Modifierad hello_world.py för att lägga till utvecklingsgren säger Hello (utvecklingsgren)
22b4bf9 C00: lagt till hello_world.py (master branch)

Antag att vi vill jämföra hello_world.py för C01 och C02 åtar sig. Du kan använda haschar för att jämföra:

$ git diff ee60eac: hello_world.py 3f611a0: hej_värld.py
diff --git a / ee60eac: hello_world.py b / 3f611a0: hej_värld.py
index e27f806… 72a178d 100644
--- a / ee60eac: hej_värld.py
+++ b / 3f611a0: hej_värld.py
@@ -2,7 +2,7 @@
def huvud ():
skriv ut ("Första hej!")
- skriva ut ("Andra Hej!")
+ skriva ut ("Utvecklingsgren säger Hej")
om __name__ == "__main__":
huvud ()

Du kan använda samma princip för att jämföra åtaganden inom samma gren också.


Visuella sammanfogningsverktyg

Att titta på textbaserade jämförelser kan vara svårt. Om du ställer in Git difftool med en visuell sammanfogningsapplikation som DiffMerge eller BeyondCompare, kommer du att kunna se skillnader bättre.

Ytterligare studier:

Referenser:

Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...