Mums, kaip kūrėjams, nesvetima valdyti ir išsaugoti įvairias kodo kopijas prieš prisijungiant prie pagrindinio kodo.
Aptarkime geresnį ir efektyvesnį būdą valdyti įvairias kodo versijas ir po bandymo jas sujungti su pagrindiniu kodu.
Pasinerkime:
Įvadas į versijų valdymo sistemas
Mes minėjome, kad „Git“ yra versijų valdymo sistema. Kas tiksliai yra versijų valdymo sistema ir kaip ji veikia?
Versijų valdymo sistema yra sistema, leidžianti kūrėjams sekti failų pakeitimus. Versijų valdymo sistemos veikia kuriant įvairių failų versijų kolekcijas ir kiekvienos versijos pakeitimus. Jie leidžia sklandžiai perjungti įvairias failų versijas.
Versijų valdymo sistema saugo failų pakeitimų rinkinį vadinamoje vietoje saugykla.
Daugeliu atvejų versijų valdymo sistemos padeda stebėti šaltinio kodo failų pokyčius, nes juose yra neapdoroto teksto. Tačiau versijų valdymo sistemos neapsiriboja vien tekstiniais failais; jie gali stebėti net dvejetainių duomenų pokyčius.
Versijų valdymo sistemų tipai
Yra įvairių tipų versijų valdymo sistemos. Jie įtraukia:
- Lokalizuotos versijų valdymo sistemos: Šio tipo versijų valdymo sistema veikia saugant įvairias failų versijas vietoje, kuriant failų pakeitimų kopijas.
- Centralizuota versijų valdymo sistema: Centralizuota versijų valdymo sistema apima centrinį serverį su įvairiomis failų versijomis. Tačiau kūrėjas vis tiek saugo failo kopiją savo vietiniame kompiuteryje
- Paskirstyta versijų valdymo sistema: Paskirstytai versijų valdymo sistemai nereikia serverio. Tačiau tai reiškia, kad kiekvienas kūrėjas klonuoja pagrindinės saugyklos kopiją, ir jūs turite prieigą prie visų failų pakeitimų. Populiarios platinamos VC sistemos yra „Git“, „Bazaar“ ir „Mercurial“.
Pradėkime nuo „Git“.
„Git“ įvadas
„Git“ yra paskirstyta versijų valdymo sistema, kurią sukūrė „Linux“ branduolio kūrėjas Linus Torvalds. Iš pradžių sukurtas padėti kurti „Linux“ branduolį, „Git“ yra galingas ir lengvai naudojamas. Tai palaiko linijinę plėtrą, kuri leidžia daugiau nei vienam kūrėjui kartu dirbti su tuo pačiu projektu.
Leiskite aptarti, kaip įdiegti „Git“ ir naudoti ją saugykloms tvarkyti:
Kaip įdiegti „Git“ sistemoje „Linux“
Priklausomai nuo naudojamos sistemos, pagal numatytuosius nustatymus turėsite įdiegti „Git“. Tačiau kai kuriose sistemose jis gali būti neįdiegtas. Jei taip yra, naudokite šias komandas, kad ją įdiegtumėte savo sistemoje.
„Debian“ / „Ubuntu“
sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install git -y„Arch Linux“
Įdiekite „Git“ „Arch“:
sudo pacman -S Git„Fedora“ / „RedHat“ / „CentOS“
Įdiekite RHEL šeimai:
sudo yum įdiekite gitsudo dnf įdiekite git
Kaip konfigūruoti „Git“
Įdiegę „Git“, gausite prieigą prie visų jo komandų, kurias galėsite naudoti dirbdami su vietinėmis ir nuotolinėmis saugyklomis.
Tačiau turite sukonfigūruoti jį pirmą kartą. Norėdami nustatyti įvairius kintamuosius, naudosime „git config“.
Pirmoji konfigūracija, kurią nustatėme, yra vartotojo vardas ir el. Pašto adresas. Norėdami nustatyti vartotojo vardą, el. Pašto adresą ir numatytąjį teksto rengyklę, naudokite parodytą „git config“ komandą.
git config - pasaulinis vartotojas.vardas mano vartotojo vardas git config -global vartotojas.pašto vartotojo vardas @ el.comgit config - pasaulio šerdis.redaktorius vim
Galite peržiūrėti „git“ konfigūracijas naudodami komandą „git config-list“ kaip:
git config - sąrašasVartotojas.vardas = mano vardas
Vartotojas.paštas = vartotojo vardas @ el. paštas.com
šerdis.redaktorius = vim
Kaip įkurti saugyklas
Negalime paminėti „Git“ ir nepaminėti termino „atpirkimas“ ar „saugykla“.
Saugykla, paprastai vadinama atpirkimo rinkiniu, renka failus ir katalogus su atitinkamais jų pakeitimais, kuriuos stebi versijų valdymo sistema.
Saugyklos pakeitimus valdo arba stebi įsipareigojimai, tai yra paprasti failo ar katalogo pakeitimų momentiniai vaizdai.
Įsipareigojimai leidžia pritaikyti pakeitimus arba grįžti prie konkrečių pakeitimų saugykloje.
Dabar aptarkime, kaip sukurti „Git“ saugyklą.
Tarkime, kad turite projekto katalogą, kurį norėtumėte naudoti kaip „git“ atpirkimą ir stebėti pakeitimus. Galite inicializuoti naudodami komandą:
git initKai paleidžiate komandą „git init“, „Git“ inicijuoja katalogą kaip saugyklą ir sukuria .git katalogas, naudojamas visiems konfigūracijos failams laikyti.
Norėdami pradėti stebėti pakeitimus naudodami „Git“, turite jį pridėti naudodami komandą „Git add“. Pvz., Norėdami pridėti failą, paleiskite iš naujo.c
git add perkrauti.cNorėdami pridėti visus failus šiame kataloge ir pradėti stebėti pakeitimus, naudokite komandą:
git pridėti .Pridėjus failus, kitas žingsnis yra atlikti įsipareigojimą. Kaip minėta anksčiau, įsipareigojimai padeda stebėti failų pakeitimus saugykloje.
Naudodami komandą „git commit“, galite pridėti pranešimą, nurodantį failų pakeitimus.
Pvz., Pranešimas apie pradinį įsipareigojimą būtų panašus į:
git įsipareigoti -m „Pradinis įsipareigojimas.“PASTABA: Pridėjus aprašomųjų ir prasmingų „git“ pranešimų, kiti saugyklą naudojantys vartotojai gali nustatyti failo pakeitimus.
gitignore
Tarkime, kad turite keletą failų ir katalogų, kurių nenorite įtraukti į pagrindinę saugyklą. Pvz., Galite turėti naudojamo kūrimo konfigūracijos failus.
Norėdami tai pasiekti, turite naudoti .gitignore failas. Viduje konors .„gitignore“ failą, galite pridėti visus failus ir katalogus, kurių „Git“ neturėtų stebėti.
Pavyzdys .„gitignore“ failas paprastai atrodo taip:
.DS_ parduotuvėmazgo_moduliai /
tmp /
*.žurnalas
*.užtrauktukas
.idėja /
verpalai.spyna paketas-spyna.Json
.tmp *
„Git“ nuotolinės saugyklos
„Git“ yra galinga sistema, kuri nepatenka į vietinių saugyklų taikymo sritį. Tokios paslaugos kaip „GitHub“, „Bitbucket“ ir „Gitlab“ siūlo nuotolines saugyklas, kuriose kūrėjai gali talpinti ir bendradarbiauti vykdydami projektus naudodami „git“ saugyklas.
Nors kai kurios nuotolinio „git“ paslaugos yra aukščiausios kokybės - yra daug nemokamų paslaugų, jos siūlo puikius įrankius ir funkcijas, tokias kaip „pull užklausos“ ir daugelis kitų, kurios užtikrina sklandų vystymąsi.
PASTABA: Taip pat galite sukurti savarankišką „git“ paslaugą. Norėdami sužinoti, kaip tai padaryti, peržiūrėkite „Gogs“ mokymo programą.
Dabar pažvelkime į įvairius būdus, kaip dirbti su nuotolinėmis saugyklomis.
Nuotolinės saugyklos klonavimas
Populiarus būdas dirbti su nuotolinėmis saugyklomis yra visų nuotolinėje saugykloje esančių failų kopijavimas į vietinę saugyklą; procesas vadinamas klonavimu.
Norėdami tai padaryti, naudokite komandą „git clone“, po kurios nurodomas saugyklos URL:
gito klonas https: // github.com / linuxhint / code.gitTokiose paslaugose kaip „Github“, atsisiųstą saugyklą galite atsisiųsti pasirinkę „Atsisiųsti“.
Norėdami peržiūrėti saugykloje esančių failų būseną, naudokite komandą „git status“:
git statusasŠi komanda jums pasakys, ar saugykloje esantys failai pasikeitė.
Atnaujinkite vietinį atpirkimą iš nuotolinio valdymo pulto
Jei turite klonuotą saugyklą, visus pakeitimus galite gauti iš nuotolinės saugyklos ir sujungti su vietine naudodami komandą „Git fetch“:
git atneštiNaujos nuotolinės saugyklos kūrimas
Norėdami sukurti nuotolinę saugyklą iš komandinės eilutės, naudokite komandą „git remote add“ kaip:
„git remote“ pridėkite new_repo https: // github.com / linuxhint / new_repo.gitStumti vietinį atpirkimą į nuotolinį
Norėdami perkelti visus pakeitimus iš vietinės saugyklos į nuotolinę saugyklą, galite naudoti komandą „git push“, po kurios nurodomas nuotolinės saugyklos URL arba pavadinimas. Pirmiausia įsitikinkite, kad pridėjote failus, pridėjote įsipareigojimo pranešimą kaip:
git pridėti .git įsipareigoti -m „Pridėta nauja funkcija prie išjungimo. „Git push origin https: // github.com / linuxhint / code.git
Nuotolinės saugyklos ištrynimas
Jei norite ištrinti nuotolinę saugyklą iš komandinės eilutės, naudokite komandą „git remote rm“ kaip:
git nuotolinis rm https: // github.com / linuxhint / new_repo.gitIšvada
Apžvelgėme „Git“ versijų valdymo sistemos sukūrimo pagrindus ir kaip ją naudoti dirbant su vietinėmis ir nuotolinėmis saugyklomis.
Šis pradedantiesiems tinkamas vadovas anaiptol nėra visavertė informacinė medžiaga. Apsvarstykite dokumentus, nes yra daugybė funkcijų, kurios nėra aprašytos šioje pamokoje.