Peaaegu kõigil versiooni juhtimissüsteemidel on hargnemisvõimalused. Kuid Git on tuntud oma kiire hargnemisvõime poolest. Git oksad on kerged. Niisiis on hargnemise tulemuse karistused minimaalsed ja arendustiime soovitatakse võimalikult palju hargneda ja ühineda. 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.Paneme kõigepealt paika järgmise olukorra:
C00 => C01 => C03 => C06 (põhiline)
\
C02 => C04 => C05 (areng)
Tehti järgmised sammud:
- C00: lisatud tere_maailm.py (põhiharu)
- - Lõi arendusharu
- C01: muudetud tere_maailm.py teise tere lisamiseks (kapten haru)
- C02: Muudetud tere_maailm.py lisamiseks Arendusharu ütleb Tere (arendusharu)
- C03: lisatud readme.txt (haruharu)
- C04: muudetud tere_maailm.py lisamiseks Arendusharu ütleb Tere uuesti (arendusharu)
- C05: Lisatud teave.txt (arendusharu)
- C06: Muudetud readme.txt teise rea lisamiseks (peaharu)
Pärast kõiki lubatusi on harul 'master' järgmised failid:
Tere, Maailm.py
readme.txt
Ja harul "arendus" on järgmised failid:
Tere, Maailm.py
info.txt
Kahe haru peade võrdlemine
Filiaalide nime abil saate võrrelda kahe haru pead:
$ git diff master ... arendusdiff --git a / tere_maailm.py b / tere_maailm.py
indeks e27f806… 3899ed3 100644
--- a / tere_maailm.py
+++ b / tere_maailm.py
@@ -2,7 +2,7 @@
def main ():
print ("Esimene tere!")
- print ("Teine tere!")
-
+ print ("Arendusharu ütleb tere")
+ print ("Arendusharu ütleb tere jälle")
kui __nimi__ == "__main__":
peamine ()
diff --git a / info.txt b / info.txt
uus failirežiim 100644
indeks 0000000… 0ab52fd
--- / dev / null
+++ b / info.txt
@@ -0,0 +1 @@
+Uus teave
diff --git a / readme.txt b / readme.txt
kustutatud failirežiim 100644
indeks e29c296… 0000000
--- a / readme.txt
+++ / dev / null
@@ -1,2 +0,0 @@
-1 Readme esimene rida.txt
-2 Readme teine rida.txt
Käsk diff vaatleb muudatusi rekursiivselt. See on käivitanud järgmised diffid:
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' haru ja 'b' arenguharu. A-täht määratakse alati esimesele parameetrile ja b-teisele parameetrile. / Dev / null tähendab, et harul pole faili.
Toimingute võrdlemine
Meie näites on harukontoril järgmised kohustused:
$ git staatusFiliaali kaptenil
pole midagi siduda, töökataloog on puhas
$ git log - oneline
caa0ddd C06: muudetud readme.txt teise rea lisamiseks (peaharu)
efaba94 C03: lisatud readme.txt (haruharu)
ee60eac C01: muudetud tere_maailm.py teise tere lisamiseks (kapten haru)
22b4bf9 C00: lisatud tere_maailm.py (põhiharu)
Arendusharul on järgmised kohustused:
$ git staatusFiliaali arendamise kohta
pole midagi siduda, töökataloog on puhas
$ git log - oneline
df3a4ee C05: Lisatud teave.txt (arendusharu)
0f0abb8 C04: muudetud tere_maailm.py lisamiseks Arendusharu ütleb Tere uuesti (arendus haru)
3f611a0 C02: muudetud tere_maailm.py lisamiseks Arendusharu ütleb Tere (arendusharu)
22b4bf9 C00: lisatud tere_maailm.py (põhiharu)
Oletame, et tahame võrrelda tere_maailma.py C01 ja C02 jaoks kohustub. Räsi saate võrrelda järgmiselt
$ git diff ee60eac: tere_maailm.py 3f611a0: tere_maailm.pydiff --git a / ee60eac: tere_maailm.py b / 3f611a0: tere_maailm.py
indeks e27f806… 72a178d 100644
--- a / ee60eac: tere_maailm.py
+++ b / 3f611a0: tere_maailm.py
@@ -2,7 +2,7 @@
def main ():
print ("Esimene tere!")
- print ("Teine tere!")
+ print ("Arendusharu ütleb tere")
kui __nimi__ == "__main__":
peamine ()
Sama printsiibi abil saate võrrelda ka sama haru toiminguid.
Visuaalse ühendamise tööriistad
Tekstipõhiste võrdluste vaatamine võib olla keeruline. Kui seadistate Git difftooli visuaalse ühendamise rakendusega nagu DiffMerge või BeyondCompare, näete erinevusi paremini.
Edasine uuring:
- Git Diffi dokumentatsioon
- Git DiffTooli dokumentatsioon
- DiffMerge'i seadistamine DiffTooliga
- BeyondCompare seadistamine DiffTooliga
Viited:
- Giti õpetus: Diff ja Merge Tools, YouTube
- http: // coding4streetcred.com / blog / post / configure-diffmerge-for-your-git-difftool
- http: // gitbaby.com / how-to-diff-one-file-to-an-omavoliline-version-in-git.HTML
- https: // git-scm.com / book / et / v2 / Git-Branching-Basic-Branching-and-Merging
- https: // git-scm.com / book / id / v2 / Git-Branching-Branches-in-a-Nutshell
- https: // git-scm.com / docs / git-diff
- https: // git-scm.com / docs / git-difftool
- https: // lähtekood.com / diffmerge /
- https: // lähtekood.com / diffmerge / webhelp / sec__git__linux.HTML
- https: // stackoverflow.com / küsimused / 9834689 / kahe haru võrdlemine
- https: // veerasundar.com / blog / 2011/06 / git-tutorial-failide võrdlemine-diff-ga /
- https: // www.tõukerattatarkvara.com / features.php
- https: // www.tõukerattatarkvara.com / tugi.php?zz = kb_vcs