Git Võrdle kahte haru

Git Compare Two Branches



Peaaegu kõigil versioonikontrollisüsteemidel on hargnemisvõimalused. Kuid Git on tuntud oma kiirete hargnemisvõimaluste poolest. Giti oksad on kerged. Seega on hargnemise tulemuslikkuse karistused minimaalsed ja arendusmeeskondi julgustatakse võimalikult palju hargnema ja ühinema. Kuid kui töötate mitme haruga, on oluline osata erinevusi võrrelda ja vastandada. Selles õpetuses vaatame läbi töövoo, et näha, kuidas saaksime erinevaid harusid ja kohustusi võrrelda. Seadistame kõigepealt järgmise olukorra:

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









C02 => C04 => C05 (arendus)



Tehti järgmised sammud:





  • C00: Lisatud hello_world.py (põhiharu)
  • - lõi arendusharu
  • C01: muudetud hello_world.py teise tere lisamiseks (peamine haru)
  • C02: Arendusharu lisamiseks muudetud hello_world.py ütleb Tere (arendusharu)
  • C03: lisatud readme.txt (peamine haru)
  • C04: Arendusharu lisamiseks muudetud hello_world.py ütleb taas tere (arendusharu)
  • C05: lisatud info.txt (arendusharu)
  • C06: muudetud readme.txt teise rea lisamiseks (põhiharu)

Pärast kõiki kohustusi on harul „kapten” järgmised failid:

tere_maailm.py
readme.txt



Ja arendusharus on järgmised failid:

tere_maailm.py
info.txt


Võrreldes kahe haru pead

Filiaalide nime abil saate võrrelda kahe haru pead:

$erinevusedmeister..arendamine

erinevus -mineet/tere_maailm.py b/tere_maailm.py
indeks e27f806..3899ed3100644
---et/tere_maailm.py
+++ b/tere_maailm.py
@@-2,7+2,7 @@

def peamine():
printida('Esimene tere!')
- trükkida('Teine tere!')
-
+ print('Arendusharu ütleb tere')
+ print('Arendusharu ütleb jälle tere')
kui__nimi__ =='__main__':
peamine()
erinevus -mineet/info.txt b/info.txt
uusfailirežiimi100644
indeks 0000000..0ab52fd
--- /arendaja/null
+++ b/info.txt
@@-0,0+1 @@
+Uus teave
erinevus -mineet/readme.txt b/readme.txt
kustutatudfailirežiimi100644
indeks e29c296..0000000
---et/readme.txt
+++/arendaja/null
@@-1,2+0,0 @@
-1Readme.txt esimene rida
-2Readme.txt teine ​​rida

Käsk diff vaatab muutusi rekursiivselt. See on käivitanud järgmised erinevused:

diff –git a/tere_maailm.py b/tere_maailm.py
diff –git a/info.txt b/info.txt
diff –git a/readme.txt b/readme.txt

Siin tähistab 'a' 'haru' ja 'b' arendusharu. Esimesele parameetrile omistatakse alati a ja teisele parameetrile b. /Dev /null tähendab, et filiaalil pole seda faili.


Kohustuste võrdlus

Meie näites on harul „kapten” järgmised kohustused:

$git staatus
Oksameistril
pole midagi teha, töökataloog puhas

$git log -online
caa0ddd C06: muudetud readme.txt teise rea lisamiseks(meisterharu)
efaba94 C03: lisatud readme.txt(meisterharu)
ee60eac C01: teise tere lisamiseks muudetud tere_maailma.py(meisterharu)
22b4bf9 C00: Lisatud hello_world.py(meisterharu)

Arendusharus on järgmised kohustused:

$git staatus
Filiaalide arengust
pole midagi teha, töökataloog puhas

$git log -online
df3a4ee C05: lisatud info.txt(arendusharu)
0f0abb8 C04: Arendusharu lisamiseks muudetud hello_world.py ütleb tere jälle(arendusharu)
3f611a0 C02: Arendusharu lisamiseks muudetud hello_world.py ütleb Tere(arendusharu)
22b4bf9 C00: Lisatud hello_world.py(meisterharu)

Oletame, et soovime võrrelda hello_world.py C01 ja C02 kohustuste puhul. Võrreldes saate kasutada räsisid:

$erinevusedee60eac: tere_maailm.py 3f611a0: tere_maailm.py

erinevus -mineet/ee60eac: tere_maailm.py b/3f611a0: tere_maailm.py
indeks e27f806..72a178d100644
---et/ee60eac: tere_maailm.py
+++ b/3f611a0: tere_maailm.py
@@-2,7+2,7 @@

def peamine():
printida('Esimene tere!')
- trükkida('Teine tere!')
+ print('Arendusharu ütleb tere')

kui__nimi__ =='__main__':
peamine()

Sama põhimõtet saate kasutada ka sama haru kohustuste võrdlemiseks.


Visuaalse ühendamise tööriistad

Tekstipõhiste võrdluste vaatamine võib olla keeruline. Kui seadistate Giti diftool visuaalse ühendamise rakendusega nagu DiffMerge või Lisaks võrdlusele , näete erinevusi paremini.

Edasine uuring:

Viited: