Git salīdziniet divas filiāles

Git Compare Two Branches



Gandrīz visām versiju kontroles sistēmām ir sazarošanās iespējas. Bet Git ir pazīstams ar savām ātrajām atzarošanas iespējām. Git zari ir viegli. Tātad izpildes sodi par sazarošanos ir minimāli, un attīstības komandas tiek mudinātas pēc iespējas vairāk sazaroties un apvienoties. Bet, strādājot ar vairākām nozarēm, ir svarīgi spēt salīdzināt un pretstatīt atšķirības. Šajā apmācībā mēs izskatīsim darbplūsmu, lai noskaidrotu, kā mēs varam salīdzināt dažādas nozares un saistības. Vispirms izveidosim šādu situāciju:

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









C02 => C04 => C05 (izstrāde)



Tika veikti šādi soļi:





  • C00: pievienots hello_world.py (galvenā filiāle)
  • - Izveidoja attīstības nozari
  • C01: modificēts hello_world.py, lai pievienotu otro sveicienu (galvenā filiāle)
  • C02: modificēts hello_world.py, lai pievienotu attīstības filiāli, saka sveiki (attīstības filiāle)
  • C03: pievienots fails readme.txt (galvenā filiāle)
  • C04: modificēts hello_world.py, lai pievienotu attīstības filiāli, saka vēlreiz! (Attīstības filiāle)
  • C05: pievienots info.txt (izstrādes filiāle)
  • C06: modificēts fails readme.txt, lai pievienotu otro rindu (galvenā filiāle)

Pēc visām saistībām filiālē “galvenais” ir šādi faili:

labdien_pasaule.py
readme.txt



Nozarei “attīstība” ir šādi faili:

labdien_pasaule.py
info.txt


Salīdzinot divu filiāļu galvas

Varat izmantot filiāļu nosaukumu, lai salīdzinātu divu filiāļu galvas:

$git difmeistars..attīstība

dif -ietuz/hello_world.py b/labdien_pasaule.py
indekss e27f806..3899ed3100644
---uz/labdien_pasaule.py
+++ b/labdien_pasaule.py
@@-2,7+2,7 @@

def galvenais():
drukāt('Vispirms sveiks!')
- drukāt('Otrais sveiks!')
-
+ drukāt('Attīstības filiāle saka sveiki')
+ drukāt('Attīstības filiāle saka vēlreiz sveiki')
ja__vārds__ =='__main__':
galvenais()
dif -ietuz/info.txt b/info.txt
jaunsfailurežīmu100644
indekss 0000000..0ab52fd
--- /dev/null
+++ b/info.txt
@@-0,0+1 @@
+Jauna informācija
dif -ietuz/readme.txt b/readme.txt
svītrotsfailurežīmu100644
indekss e29c296..0000000
---uz/readme.txt
+++/dev/null
@@-1,2+0,0 @@
-1Readme.txt pirmā rinda
-2Readme.txt otrā rinda

Komanda diff rekursīvi aplūko izmaiņas. Tas ir palaidis šādus atšķirības:

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

Šeit “a” apzīmē “galveno” nozari un “b” apzīmē attīstības nozari. Pirmajam parametram vienmēr tiek piešķirts “a”, bet otrajam - “b”. /Dev /null nozīmē, ka filiālei nav faila.


Salīdzinot saistības

Mūsu piemērā filiālei “galvenais” ir šādas saistības:

$git statuss
Par filiāles meistaru
nav ko darīt, darba katalogs tīrs

$git žurnāls -tiešsaistē
caa0ddd C06: modificēts readme.txt, lai pievienotu otro rindu(meistara filiāle)
efaba94 C03: pievienots fails readme.txt(meistara filiāle)
ee60eac C01: modificēts hello_world.py, lai pievienotu otro sveicienu(meistara filiāle)
22b4bf9 C00: Pievienots hello_world.py(meistara filiāle)

Attīstības nozarei ir šādas saistības:

$git statuss
Par nozares attīstību
nav ko darīt, darba katalogs tīrs

$git žurnāls -tiešsaistē
df3a4ee C05: pievienots info.txt(attīstības nozare)
0f0abb8 C04: modificēts hello_world.py, lai pievienotu attīstības filiāli, saka vēlreiz!(attīstības nozare)
3f611a0 C02: Modificēts hello_world.py, lai pievienotu attīstības filiāli, saka Sveiki(attīstības nozare)
22b4bf9 C00: Pievienots hello_world.py(meistara filiāle)

Pieņemsim, ka mēs vēlamies salīdzināt hello_world.py C01 un C02 saistībām. Salīdzināšanai varat izmantot jaukšanas iespējas:

$git difee60eac: hello_world.py 3f611a0: hello_world.py

dif -ietuz/ee60eac: hello_world.py b/3f611a0: hello_world.py
indekss e27f806..72a178d100644
---uz/ee60eac: hello_world.py
+++ b/3f611a0: hello_world.py
@@-2,7+2,7 @@

def galvenais():
drukāt('Vispirms sveiks!')
- drukāt('Otrais sveiks!')
+ drukāt('Attīstības filiāle saka sveiki')

ja__vārds__ =='__main__':
galvenais()

Jūs varat izmantot to pašu principu, lai salīdzinātu saistības arī tajā pašā nozarē.


Vizuālās sapludināšanas rīki

Teksta salīdzinājumu aplūkošana var būt sarežģīta. Ja iestatāt Git diftools ar vizuālas sapludināšanas lietojumprogrammu, piemēram DiffMerge vai BeyondCompare , jūs varēsit labāk redzēt atšķirības.

Turpmāka izpēte:

Atsauces: