Git Porovnejte dvě větve

Git Compare Two Branches



Téměř všechny systémy pro správu verzí mají možnosti větvení. Ale Git je známý svými schopnostmi rychlého větvení. Větve Git jsou lehké. Sankce za výkon za větvení jsou tedy minimální a vývojové týmy jsou povzbuzovány k větvení a sloučení co nejvíce. Když ale pracujete s více pobočkami, je důležité umět rozdíly porovnat a porovnat. V tomto tutoriálu si projdeme pracovní postup, abychom zjistili, jak můžeme porovnávat různé větve a závazky. Nejprve nastavíme následující situaci:

C00 => C01 => C03 => C06 (hlavní)









C02 => C04 => C05 (vývoj)



Byly provedeny následující kroky:





  • C00: Přidán hello_world.py (hlavní větev)
  • - Vytvořil vývojovou větev
  • C01: Upraven hello_world.py pro přidání druhého hello (hlavní větev)
  • C02: Upraven hello_world.py pro přidání vývojové větve Hello (vývojová větev)
  • C03: Přidán soubor readme.txt (hlavní větev)
  • C04: Upraven hello_world.py tak, aby přidal vývojovou větev, říká Ahoj znovu (vývojová větev)
  • C05: Přidán info.txt (vývojová větev)
  • C06: Upravený soubor readme.txt pro přidání druhého řádku (hlavní větev)

Po všech potvrzeních má větev „master“ následující soubory:

ahoj_world.py
readme.txt



A větev „vývoj“ má následující soubory:

ahoj_world.py
info.txt


Porovnání hlav dvou větví

Název větví můžete použít k porovnání hlav dvou větví:

$git rozdílmistr..vývoj

rozdíl --jítna/ahoj_world.py b/ahoj_world.py
index e27f806..3899ed3100644
---na/ahoj_world.py
+++ b/ahoj_world.py
@@-2,7+2,7 @@

def hlavní():
tisk('První ahoj!')
- tisk('Druhé ahoj!')
-
+ tisk(„Vývojová pobočka říká Dobrý den“)
+ tisk(„Vývojová pobočka opět říká Dobrý den“)
-li__name__ =='__hlavní__':
hlavní()
rozdíl --jítna/info.txt b/info.txt
Novýsouborrežimu100644
index 0000000..0ab52fd
--- /dev/nula
+++ b/info.txt
@@-0,0+1 @@
+Nové informace
rozdíl --jítna/readme.txt b/readme.txt
smazánosouborrežimu100644
index e29c296..0000000
---na/readme.txt
+++/dev/nula
@@-1,2+0,0 @@
-1První řádek souboru readme.txt
-2Druhý řádek souboru readme.txt

Příkaz diff rekurzivně sleduje změny. Spustilo následující rozdíly:

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

Zde „a“ znamená „hlavní“ větev a „b“ znamená vývojovou větev. Prvnímu parametru je vždy přiřazeno „a“ a druhému parametru „b“. /Dev /null znamená, že větev soubor nemá.


Porovnání mezi závazky

V našem příkladu má „hlavní“ větev následující potvrzení:

$git status
Na pobočce mistra
nic se zavazovat, pracovní adresář čistý

$git log --online
caa0ddd C06: Upraven soubor readme.txt pro přidání druhého řádku(hlavní větev)
efaba94 C03: Přidán soubor readme.txt(hlavní větev)
ee60eac C01: Upravený hello_world.py pro přidání druhého ahoj(hlavní větev)
22b4bf9 C00: Přidán hello_world.py(hlavní větev)

Vývojová větev má následující potvrzení:

$git status
O vývoji pobočky
nic se zavazovat, pracovní adresář čistý

$git log --online
df3a4ee C05: Přidán soubor info.txt(vývojová větev)
0f0abb8 C04: Upraven hello_world.py tak, aby přidal vývojovou větev, opět říká Dobrý den(vývojová větev)
3f611a0 C02: Upraven hello_world.py pro přidání vývojové větve říká Hello(vývojová větev)
22b4bf9 C00: Přidán hello_world.py(hlavní větev)

Předpokládejme, že chceme porovnat hello_world.py pro provize C01 a C02. Ke srovnání můžete použít hodnoty hash:

$git rozdílee60eac: hello_world.py 3f611a0: hello_world.py

rozdíl --jítna/ee60eac: hello_world.py b/3f611a0: hello_world.py
index e27f806..72a178d100644
---na/ee60eac: hello_world.py
+++ b/3f611a0: hello_world.py
@@-2,7+2,7 @@

def hlavní():
tisk('První ahoj!')
- tisk('Druhé ahoj!')
+ tisk(„Vývojová pobočka říká Dobrý den“)

-li__name__ =='__hlavní__':
hlavní()

Stejný princip můžete použít také k porovnání potvrzení ve stejné větvi.


Nástroje pro vizuální sloučení

Pohled na textová srovnání může být obtížný. Pokud jste nastavili Git difftool s aplikací pro vizuální sloučení jako DiffMerge nebo BeyondCompare , budete moci lépe vidět rozdíly.

Další studie:

Reference: