„Git“ versijų valdymas

Autorius Sarah Guthals

„GitHub“, kaip tas pats siūlytų, yra pastatytas ant „Git“. „Git“ yra tam tikros versijos valdymo sistemos tipas, kuris yra nemokamas ir atviras šaltinis, o tai reiškia, kad kiekvienas gali juo naudotis, kurti ant jo ir netgi papildyti.



„GitHub“ produktams palengvinti „Git“ naudojimą, bet jei jums įdomu, taip pat galite naudoti „Git“ ir stebėti savo solo projektus savo kompiuteryje.



Išbandykite paprastą „Git“ terminale

Naudojant „Git for Windows“, terminalo naudojimas „Mac“, „Windows“ ar „Linux“ kompiuteriuose yra visiškai tas pats. A terminalas yra programa, leidžianti sąveikauti su kompiuteriu tekstiniu būdu - kitaip tariant, užuot dukart spustelėję ir vilkdami, įveskite komandas norėdami naršyti kompiuteryje.

Jei naudojate „Mac“ ar „Linux“, jūsų kompiuteryje jau yra įdiegtas terminalas. Jei naudojate „Windows“ kompiuterį, įdiekite „Git for Windows“. Spustelėkite parsisiųsti norėdami gauti prieigą prie „Git Bash“ - emuliatoriaus, leidžiančio bendrauti su „Git“, kaip ir „Linux“ ar „Mac“ terminaluose. Jūs taip pat gaunate „Git GUI“, kuris suteikia jums vartotojo sąsają beveik visoms „Git“ komandoms, kurias galite įvesti į „Git Bash“, ir „shell“ integraciją, kad galėtumėte greitai atidaryti „Git Bash“ arba „Git GUI“ iš bet kurio aplanko.



Daugelis „Windows“ kūrėjų nori naudoti „PowerShell“ kaip savo terminalo aplinką. Tu gali naudoti Git per „PowerShell“ .

Pirmiausia raskite programą „Terminal“:

  • „Mac“ sistemoje galite spustelėti didinamąjį stiklą darbalaukio viršuje dešinėje, įveskite Terminalas , pasirinkite terminalą iš programų sąrašo ir paspauskite Enter arba spustelėkite jį.
  • „Linux“ sistemoje vienu metu paspauskite „Ctrl-Alt-T“ ir atsidarys terminalo langas.
  • „Windows“ spustelėkite darbalaukio apačioje dešinėje esantį „Windows“ meniu, ieškokite Gitas Bashas, paieškos rezultatų sąraše pasirinkite „Git Bash“ programą ir paspauskite „Enter“ arba spustelėkite ją.

Kai atidaroma programa, įveskite git --version terminale. Jei esate įdiegę „Git“, turėtumėte pamatyti versijos numerį, kaip parodyta šiame kode ($ jau turėtų būti eilutėje, todėl jums jo nereikia įvesti). Priešingu atveju galite sekti šias instrukcijas .



Kai naudojate komandinę eilutę, turite būti labai atsargūs, ką tiksliai įvedate. Šiame kode pirmoji instrukcija yra įvesti git --version. Turėtumėte atkreipti dėmesį, kad tarp git ir likusios instrukcijos atsiranda tarpas, bet nėra kitų tarpų. Taip pat turėtumėte atkreipti dėmesį į du brūkšnelius prieš žodžio versiją. Jų gali būti lengva praleisti, todėl būkite atsargūs!

Jei naudojate „Mac“ ar „Linux“, turėtumėte pamatyti kažką panašaus į šį:

$ git --version

git version 2.16.3

$

Jei naudojate „Windows“, turėtumėte pamatyti kažką panašaus:

$ git --version

git version 2.20.1.windows.1

$

Tada naudodami terminalą eikite į savo darbalaukį ir sukurkite naują aplanką, vadinamą „git practice“. Norėdami tai padaryti, turėtumėte įvesti šias komandas:

$ cd ~/Desktop

$ mkdir git-practice

$ cd git-practice

$

Jei įvesite pwd, turėtumėte pamatyti, kad dabar esate aplanke „git-practice“, kuris yra jūsų darbalaukyje. Tai gali atrodyti maždaug taip:

$ pwd

$ /Users/sguthals/Desktop/git-practice

$

Now, you can tell git to track this folder using the init command.

$ git init

Initialized empty Git repository in /Users/sguthals/Desktop/git-practice

$

Tada įsitikinkite, kad turite švarų aplanką. Tai galite patikrinti naudodami komandą status

$ git status

On branch master

No commits yet

nothing to commit (create/copy files and use 'git add' to track)

$

Tada galite sukurti failą, kad „Git“ pradėtų stebėti, ir patvirtinkite, kad failas yra aplanke:

$ echo 'practicing git' > file.txt

$ ls

file.txt

$

„Mac“ sistemoje galite atidaryti šį aplanką „Finder“ naudodami open komanda:

$ open .

$

„Linux“ sistemoje galite atidaryti šį aplanką naudodami komandą nautilus

$ nautilus .

$

„Windows“ sistemoje galite atidaryti šį aplanką naudodami explorer komanda:

$ explorer .

$

Šiame pavyzdyje pateikiame . kaip kiekvienai komandai. . liepia terminalui atidaryti dabartinį aplanką. Taip pat galite naudoti kitą kelią naudodami šias komandas, kad atidarytumėte kitus aplankus.

Atidarius aplanką, dukart spustelėkite failą, pavadintą file.txt, ir failas atidaromas su „TextEdit“ sistemoje „Mac“, „gedit“ sistemoje „Linux“ ir „Notepad“ sistemoje „Windows“. Galite pamatyti, kad žodžiai, praktikuojantys gitą, iš tikrųjų yra.

Uždarykite failą. Dabar galite pasakyti „Git“, kad norite išsaugoti tai kaip tam tikrą versiją. Atgal į terminalą:

$ git add file.txt

$ git commit -m 'Adding my file to this version'

[master (root-commit) 8d28a21] Adding my file to this version

1 file changed, 1 insertion(+)

ivermektino tabletės žmonėms

Create mode 100644 file.txt

$ git status

On branch master

nothing to commit, working tree clean

$

Teksto faile galite pakeisti failą. Dar kartą atidarykite failą, pakeiskite tekstą sakydamas: Sveiki! Aš šiandien praktikuoju gitą! tada spustelėkite Failas → Išsaugoti ir uždarykite teksto programą.

Grįžę į terminalą dar kartą patikrinti savo projekto būsenos, turėtumėte pamatyti, kad „Git“ pastebėjo, kad failas pasikeitė:

$ git status

On branch master

Changed not staged for commit:

(use 'git add

{use 'git checkout -- …' to discard changed in working directory)

modified: file.txt

no changed added to commit (use 'git add' and/or 'git commit -a')

$

Commit dar kartą šią failo versiją ir pastebėkite, kad „Git“ supranta, kad viskas išsaugota naujoje versijoje:

$ git add file.txt

$ git commit -m 'I changed the text'

[master 6d80a2a] I changed the text

1 file changed, 1 insertion(+), 1 deletion(-)

$ git status

On branch master

nothing to commit, working tree clean

$

Jei jūsų terminalas pradeda būti pernelyg griozdiškas, galite įvesti clear išlaisvinti šiek tiek vietos ir padaryti ją vizualiai patrauklesnę. Nesijaudink; visada galite slinkti aukštyn ir pamatyti viską, ką įvedėte anksčiau!

Tarkime, kad iš tikrųjų norite pamatyti originalų pakeitimą; kai pridėjai praktikuojančią gitą. Pirmiausia gaukite visų atliktų įsipareigojimų žurnalą:

$ git log

commit 6d80a2ab7382c4d308de74c25669f16d1407372d (HEAD -> master)

Author: sguthals

Date: Sun Dec 9 08:54:11 2018 -0800

I changed the text

commit 8d28a21f71ec5657a2f5421e03faad307d9eec6f

Author: sguthals

Date: Sun Dec 9 08:48:01 2018 -0800

Adding my file to this version

$

Tada paprašykite Gito, kad jis parodytų jums pirmąjį commit (apatinį). Įsitikinkite, kad rašote unikalųjį commit hash. Šiuose pavyzdžiuose maiša prasideda 8d28a2. Įsitikinkite, kad įvedėte visą maišos failą, kuris rodomas jūsų „Git“ žurnale:

Užuot vedę visą maišos variantą (ir galbūt turėdami rašybos klaidą), galite pažymėti maišos pele, dešiniuoju pelės mygtuku spustelėkite ir pasirinkite kopija, o po git checkout galite spustelėti dešiniuoju pelės mygtuku ir pasirinkti Įklijuoti. Neveikia spartieji klavišai „Ctrl + C“ arba „Command -C“

$ git show 8d28a21f71ec5657a2f5421e03faad307d9eec6f

commit 8d28a21f71ec6567a2f5421e03faad307d9eec6f

Author: sguthals

Date: Sun Dec 9 08:48:01 2018 -0800

Adding my file to this version

diff --git a/file.txt b/file.txt

new file mode 100644

index 0000000..849a4c7

11

--- /dev/null

+++ b/file.txt

@@ -0,0 +1 @@

+practicing git

$

Matote, kad practicing git buvo pridėta prie bylos, kad pirminis įsipareigojimas.

Norėdami gauti daugiau informacijos apie tai, kaip naudoti „git“ komandinėje eilutėje, patikrinkite šiuos išteklius:

Yra dar pora išteklių, skirti mokymasis ir suprasdamas Gitą , leidžiančius „Windows“ vartotojams patirti panašią darbo eigą, nes tai yra vizualizacijos, priglobtos svetainėje. Pirmoji nuoroda yra geras savarankiškas pratimų rinkinys, o antrasis - geriausiai naudojamas žmonėms, kurie gerai supranta „Git“ ir nori ištirti, kas nutiks skirtingais atvejais, arba žmonėms, turintiems daugiau „Git“ vartotojo jiems vadovaujant.

Git išsišakojo bendradarbis

„Git“ skiriasi nuo kitų versijų valdymo sistemų, nes greitai išsišakoja, kaip parodyta kitame paveikslėlyje. Šakojimas yra „Git“ funkcija, kuri iš esmės nukopijuoja kodą (kiekvienas branch yra kodo kopija), leidžia atlikti pakeitimus konkrečioje kopijoje ir tada sujungia pakeitimus atgal į pagrindinį (master) filialą .

Git šakos

„Git“ šakų darbo eigos pavyzdys.

Rašydami kodą, pridėsite failus ir atliksite pakeitimus savo master filiale. Paveiksle pateikiama konkreti darbo eiga, kai du žmonės bendradarbiauja tame pačiame faile. Asmuo 1 sukuria naują šaką pavadinimu MyBranch ir atlieka keletą failo pakeitimų. 2 asmuo taip pat sukuria naują filialą, pavadintą YourBranch ir atlieka tam tikrus pakeitimus tame pačiame faile. Šį pakeitimą galite pamatyti 1 laukelyje.

2 laukelyje galite pamatyti skirtumą (vadinamas diff) tarp master šakos ir MyBranch

Tada asmuo 1 merges savo pakeitimus master branch, kaip matote 3 laukelyje.

2 asmuo padarė savo pakeitimus, tačiau prieš sujungdami įsitikins, kad turi naujausią master branch versiją, kurioje dabar yra asmens 1 pakeitimai. diff Galima pamatyti laukelyje # 4. Atkreipkite dėmesį, koks tekstas yra abiejuose failuose.

Galiausiai, 2 asmuo pripažįsta, kad jų pakeitimai perrašys 1 asmens pakeitimus ir sujungia jų pakeitimus su pagrindiniu, todėl galutinėje versijoje bus atlikti pakeitimai nuo asmens 2. 5 langelyje parodytas šis galutinis sujungimas, o master branch turi paskutinius pakeitimus .

Paveikslėlyje parodyta tik viena darbo eiga, kuri gali egzistuoti, kai daugiau nei vienas asmuo dirba su kodu ir skirtas šakojimui apibūdinti. Gaukite išsamesnę apžvalgą apie Git ir išsišakojusios .

Git išsišakojimas pagal ypatybę

Kitas įprastas būdas naudoti branching yra tai, kad kiekviena jūsų sukurta funkcija būtų kitoje branch, neatsižvelgiant į bendradarbį, kuris kuria šią funkciją.

Galite išplėsti šakojimo pagal funkciją idėją, kad taip pat būtų viena atšaka, kuri yra jūsų production Šią šaką matys jūsų vartotojai. Tada galite turėti development filialą, į kurį galite sujungti funkcijas, nekeisdami to, ką mato jūsų vartotojai.

Šio tipo šakojimas leidžia jums sukurti daugybę skirtingų funkcijų, sulieti jas kiekvieną į development branch, įsitikinti, kad jos visos veikia taip, kaip norite, o tada merge development šakotis į production filialas, kai žinote, kad jis paruoštas jūsų vartotojams.

Git išsišakojimas eksperimentams

Taip pat galite sukurti šakas, kad patikrintumėte, ar kažkas veikia, ir tada visiškai išmeskite branch

Šis šakų tipas gali būti naudingas, jei norite išbandyti, pavyzdžiui, visiškai naują svetainės išdėstymą. Galite sukurti tris skirtingas šakas, kurių kiekvienas turi skirtingą išdėstymą. Nusprendę, koks maketas jums labiausiai patinka, galite tiesiog ištrinti kitas dvi šakas ir sujungti filialą su mėgstamu išdėstymu į master.