Šis įrašas yra „Git Cheat Sheet“ su dažniausiai pasitaikančiomis „Git“ komandomis, kurias greičiausiai naudosite kasdien.
Jei esate techninis testuotojas, dirbantis kartu su kūrėjais, turėtumėte žinoti pagrindines „Git“ komandas.
Šiame įraše yra pakankamai „Git“ žinių, kad galėtumėte kasdien eiti į kokybę.
Jei jūsų kompiuteryje nėra įdiegta „Git“, galite atlikti nurodytus veiksmus Kaip įdiegti „Git“ sistemoje „Mac“ ir sugeneruoti SSH raktus .
Sukurkite tuščią „git“ repo arba iš naujo inicijuokite esamą
$ git init
Klonuokite „foo repo“ į naują katalogą, pavadintą „foo“:
$ git clone https://github.com//foo.git foo
Kai norite dirbti su nauja funkcija, paprastai sukuriate naują filialą „Git“. Paprastai jūs norite likti nuo pagrindinio filialo ir dirbti su savo funkcijų šakomis, kad meistras visada būtų švarus ir galėtumėte iš jo sukurti naujų šakų.
Norėdami sukurti naują filialą, naudokite:
$ git checkout -b
Jei norite sužinoti, kokie filialai yra jūsų darbo kataloge, naudokite:
$ git branch
Išvesties pavyzdys:
develop my_feature master
Kai kuriate naują filialą, „Git“ automatiškai persijungia į naują filialą.
Jei turite kelis filialus, galite lengvai persijungti tarp filialų naudodamiesi „git“ kasa:
$ git checkout master $ git checkout develop $ git checkout my_feature
Norėdami ištrinti vietinį skyrių:
$ git branch -d
Naudokite -D
parinkties vėliava ją priversti.
Norėdami ištrinti nuotolinį filialą kilmės vietoje:
$ git push origin :
Susijęs:
Į etapas byla yra tiesiog parengti ją įsipareigojimui. Pridėdami ar modifikuodami kai kuriuos failus, šiuos pakeitimus turite išdėstyti „sustojimo srityje“. Pagalvokite apie pastatymą kaip dėžę, į kurią įdėsite daiktus, prieš pakišdami ją po savo lova, kur jūsų lova yra anksčiau įstūmtų dėžučių saugykla.
Norėdami sudaryti ar tiesiog pridėti failus, turite naudoti komandą „git add“. Galite susisteminti atskirus failus:
$ git add foo.js
arba visus failus vienu metu:
$ git add .
Jei norite pašalinti tam tikrą failą iš scenos:
$ git reset HEAD foo.js
Arba pašalinkite visus etapinius failus:
$ git reset HEAD .
Taip pat galite sukurti komandos slapyvardį ir tada naudoti jį su „Git“:
$ git config --global alias.unstage 'reset HEAD' $ git unstage .
Jei norite pamatyti, kokie failai buvo sukurti, modifikuoti ar ištrinti, „Git“ būsena parodys jums ataskaitą.
$ git status
Gera praktika įsipareigoti dažnai. Prieš stumdami, visada galite sutrumpinti savo įsipareigojimus. Prieš atlikdami pakeitimus, turite juos suplanuoti.
„Command“ komandai reikalinga parinktis -m, nurodanti įsipareigojimo pranešimą.
Galite atlikti tokius pakeitimus:
$ git commit -m 'Updated README'
Ši komanda anuliuos naujausią įsipareigojimą ir grąžins tuos pakeitimus į pakopą, kad neprarastumėte jokio darbo:
$ git reset --soft HEAD~1
Norėdami visiškai ištrinti įsipareigojimą ir išmesti bet kokius pakeitimus, naudokite:
$ git reset --hard HEAD~1
Tarkime, kad turite 4 įsipareigojimus, bet dar nieko nepajudinote ir norite viską sudėti į vieną įsipareigojimą, tada galite naudoti:
$ git rebase -i HEAD~4
HEAD~4
nurodo keturis paskutinius įsipareigojimus.
-i
Parinktis atidaro interaktyvų teksto failą.
Kiekvieno įsipareigojimo kairėje pamatysite žodį „pasirinkti“. Palikite vieną viršuje, o visus kitus pakeiskite „s“ skvošui, išsaugokite ir uždarykite failą.
Tada atidaromas dar vienas interaktyvus langas, kuriame galite atnaujinti savo įsipareigojimų pranešimus į vieną naują įsipareigojimo pranešimą.
Atlikę pakeitimus, turite pereiti į nuotolinę saugyklą.
Pirmą kartą stumkite vietinį skyrių:
$ git push --set-upstream origin
Po to galite tiesiog naudoti
$ git push
Norėdami perkelti vietinį filialą į kitą nuotolinį filialą, galite naudoti:
$ git push origin :
Jei turite anuliuoti paskutinį spaudimą, galite naudoti:
$ git reset --hard HEAD~1 && git push -f origin master
Kai naudosite git fetch
, „Git“ nesijungs, kiti įsipareigoja juos su dabartiniu filialu. Tai ypač naudinga, jei reikia atnaujinti saugyklą, tačiau dirbate dėl to, kas gali sugesti, jei atnaujinsite failus.
Norėdami integruoti įsipareigojimus į pagrindinį filialą, naudokite merge
$ git fetch upstream
Traukimas yra tik darymas, o po to sujungimas. Kai naudojate git pull
, „Git“ automatiškai sujungia kitus įsipareigojimus, neleisdamas jų pirmiausia peržiūrėti. Jei atidžiai nevaldote savo filialų, galite susidurti su dažnais konfliktais.
Jei turite filialą, vadinamą my_feature
ir norite ištraukti tą šaką, galite naudoti:
$ git pull origin/my_feature
Arba, jei norite traukti viską ir visas kitas šakas
$ git pull
Kai paleisite git merge
, jūsų HEAD filialas sugeneruos a naujas įsipareigojimas , išsaugodamas kiekvieno įsipareigojimo istorijos protėvius.
peržengti perrašo vienos šakos pokyčius ant kito be sukurti naują įsipareigojimą.
$ git checkout my_feature $ git merge master
Arba naudodami pakartotinės bazės parinktį naudojate:
$ git checkout my_feature $ git rebase master
$ git checkout master $ git merge my_feature
Kartais jūs atliekate pakeitimus filiale ir norite pereiti prie kito filialo, tačiau nenorite prarasti pakeitimų.
Galite paslėpti savo pakeitimus. Štai kaip jūs atliekate „Git“ atminimą:
$ git stash
Dabar, jei norite panaikinti tuos pakeitimus ir grąžinti juos į savo darbo katalogą, naudokite:
$ git stash pop