Git

Git Salīdzināt divas filiāles

Git Salīdzināt divas filiāles

Gandrīz visām versiju vadības sistēmām ir sazarošanas iespējas. Bet Git ir pazīstams ar ātrām sazarošanas iespējām. Git filiāles ir vieglas. Tātad soda naudas par sazarošanu ir minimālas, un attīstības komandas tiek aicinātas pēc iespējas vairāk sazaroties un apvienoties. Bet, strādājot ar vairākām filiālēm, ir svarīgi spēt salīdzināt un salīdzināt atšķirības. Šajā apmācībā mēs veiksim darbplūsmu, lai uzzinātu, kā mēs varam salīdzināt dažādas filiāles un saistības.Vispirms izveidosim šādu situāciju:

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

      \

       C02 => C04 => C05 (attīstība)

Tika veiktas šādas darbības:

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

Sveika pasaule.py
lasīt.txt

Un filiālē “izstrāde” ir šādi faili:

Sveika pasaule.py
info.txt


Salīdzinot divu zaru galvas

Lai salīdzinātu divu filiāļu galvas, varat izmantot zaru nosaukumu:

$ git diff master ... izstrāde
diff --git a / hello_world.py b / sveika pasaule.py
indekss e27f806… 3899ed3 100644
--- a / labdiena pasaule.py
+++ b / labdien_pasaule.py
@@ -2,7 +2,7 @@
def main ():
drukāt ("Pirmais sveiki!")
- drukāt ("Otrais sveiks!")
-
+ drukāt ("Attīstības filiāle saka Sveiki")
+ drukāt ("Attīstības filiāle saka Sveiki vēlreiz")
ja __nosaukums == "__main__":
galvenais ()
diff --git a / info.txt b / info.txt
jauns failu režīms 100644
indekss 0000000… 0ab52fd
--- / dev / null
+++ b / info.txt
@@ -0,0 +1 @@
+Jauna informācija
diff --git a / readme.txt b / readme.txt
izdzēstā faila režīms 100644
indekss e29c296… 0000000
--- a / readme.txt
+++ / dev / null
@@ -1,2 +0,0 @@
-1 Readme pirmā rindiņa.txt
-2 Readme otrā rinda.txt

Komanda diff rekursīvi skata izmaiņas. Tas ir palaists šādos diffs:

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

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


Salīdzinot saistības

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

$ git statuss
Uz filiāles kapteini
neko apņemties, darba katalogs tīrs
$ git log - tiešsaistē
caa0ddd C06: Pārveidota readme.txt, lai pievienotu otro rindu (galvenā filiāle)
efaba94 C03: pievienota readme.txt (galvenā filiāle)
ee60eac C01: Pārveidota sveika pasaule.py, lai pievienotu otro sveicienu (galvenā filiāle)
22b4bf9 C00: pievienots sveiki_pasauli.py (galvenā filiāle)

Izstrādes nozarei ir šādas saistības:

$ git statuss
Par filiāles attīstību
neko apņemties, darba katalogs tīrs
$ git log - tiešsaistē
df3a4ee C05: pievienota informācija.txt (attīstības filiāle)
0f0abb8 C04: modificēta sveika pasaule.Lai pievienotu Attīstības filiāle, atkal saka Sveiki (attīstības filiāle)
3f611a0 C02: modificēta sveika pasaule.Lai pievienotu, izstrādes filiāle saka Sveiki (attīstības filiāle)
22b4bf9 C00: pievienots sveiki_pasauli.py (galvenā filiāle)

Pieņemsim, ka mēs vēlamies salīdzināt sveiki_pasauli.py C01 un C02 apņemas. Varat izmantot jaucējus, lai salīdzinātu:

$ git diff ee60eac: labdien_pasaule.py 3f611a0: labdien_pasaule.py
diff --git a / ee60eac: labdien_pasaule.py b / 3f611a0: sveiki_pasaule.py
indekss e27f806… 72a178d 100644
--- a / ee60eac: labdien_pasaule.py
+++ b / 3f611a0: sveika pasaule.py
@@ -2,7 +2,7 @@
def main ():
drukāt ("Pirmais sveiki!")
- drukāt ("Otrais sveiks!")
+ drukāt ("Attīstības filiāle saka Sveiki")
ja __nosaukums == "__main__":
galvenais ()

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


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

Aplūkot teksta salīdzinājumus var būt grūti. Ja Git difftool iestatījāt ar vizuālās sapludināšanas lietojumprogrammu, piemēram, DiffMerge vai BeyondCompare, jūs varēsit labāk redzēt atšķirības.

Turpmāka izpēte:

Atsauces:

Kā izmantot Xdotool, lai stimulētu peles klikšķus un taustiņsitienus Linux
Xdotool ir bezmaksas un atvērtā koda komandrindas rīks peles klikšķu un taustiņu simulāciju simulēšanai. Šajā rakstā būs īss ceļvedis par xdotool izma...
5 labākie ergonomiskie datoru peles izstrādājumi Linux
Vai ilgstoša datora lietošana izraisa sāpes plaukstas locītavā vai pirkstos? Vai jūs ciešat no stīvām locītavām un jums pastāvīgi ir jāspiež rokas? Va...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...