Ĉi tiu afiŝo estas Git-Trompfolio kun la plej oftaj Git-komandoj, kiujn vi probable uzos ĉiutage.
Se vi estas teknika testisto laboranta kune kun programistoj, vi devas koni la bazajn Git-komandojn.
Ĉi tiu afiŝo enhavas sufiĉe da scioj pri Git por helpi vin ĉiutage kiel QA.
Se vi ne instalis Git sur via maŝino, vi povas sekvi la paŝojn en Kiel Instali Git sur Mac kaj Generi SSH-Ŝlosilojn .
Kreu malplenan git repo aŭ re-pravalorizi ekzistantan
$ git init
Klonu la foo-repo en novan dosierujon nomatan foo:
$ git clone https://github.com//foo.git foo
Kiam vi volas prilabori novan funkcion, vi kutime kreas novan branĉon en Git. Kiel tia, vi ĝenerale volas resti ekster la majstra branĉo kaj labori pri viaj propraj trajtaj branĉoj por ke majstro estu ĉiam pura kaj vi povu krei novajn branĉojn de ĝi.
Por krei novan branĉon uzu:
$ git checkout -b
Se vi volas scii, kiaj branĉoj disponeblas en via labora dosierujo, tiam uzu:
$ git branch
Ekzempla eligo:
develop my_feature master
Kiam vi kreas novan branĉon, tiam Git aŭtomate ŝanĝas al la nova branĉo.
Se vi havas plurajn branĉojn, vi povas facile ŝanĝi inter branĉoj per git checkout:
$ git checkout master $ git checkout develop $ git checkout my_feature
Por forigi lokan branĉon:
$ git branch -d
Uzu la -D
opcia flago por devigi ĝin.
Por forigi foran branĉon sur origino:
$ git push origin :
Rilataj:
Al scenejo dosiero estas simple prepari ĝin por kompromiso. Kiam vi aldonas aŭ modifas iujn dosierojn, vi devas enscenigi tiujn ŝanĝojn en 'la interŝanĝan areon.' Pensu pri enscenigo kiel skatolo, kie vi enmetas aĵojn antaŭ ŝovi ĝin sub vian liton, kie via lito estas deponejo da skatoloj, kiujn vi antaŭe enŝovis.
Por enscenigi aŭ simple aldoni dosierojn, vi devas uzi komandon git add. Vi povas enscenigi unuopajn dosierojn:
$ git add foo.js
aŭ ĉiuj dosieroj samtempe:
$ git add .
Se vi volas forigi certan dosieron de la scenejo:
$ git reset HEAD foo.js
Aŭ forigu ĉiujn enskribitajn dosierojn:
$ git reset HEAD .
Vi ankaŭ povas krei kaŝnomon por komando kaj poste uzi ĝin kun Git:
$ git config --global alias.unstage 'reset HEAD' $ git unstage .
Se vi volas vidi kiajn dosierojn kreitajn, modifitajn aŭ forigitajn, Git-stato montros al vi raporton.
$ git status
Estas bona praktiko fari ofte. Vi ĉiam povas malplenigi viajn devontigojn antaŭ puŝo. Antaŭ ol fari viajn ŝanĝojn, vi devas aranĝi ilin.
La commit-komando bezonas opcion -m, kiu specifas la commit-mesaĝon.
Vi povas fari viajn ŝanĝojn kiel:
$ git commit -m 'Updated README'
La sekva komando malfaros vian plej lastan faron kaj remetos tiujn ŝanĝojn en aranĝon, do vi ne perdos laboron:
$ git reset --soft HEAD~1
Por tute forigi la transdonon kaj forĵeti iujn ajn ŝanĝojn, uzu:
$ git reset --hard HEAD~1
Ni diru, ke vi havas 4 validigojn, sed vi ankoraŭ nenion puŝis kaj vi volas meti ĉion en unu validigon, tiam vi povas uzi:
$ git rebase -i HEAD~4
La HEAD~4
rilatas al la lastaj kvar validigoj.
La -i
opcio malfermas interagan tekstdosieron.
Vi vidos la vorton 'elekti' maldekstre de ĉiu transdono. Lasu tiun ĉe la supro sola kaj anstataŭigu ĉiujn aliajn per 's' por kukurbo, konservu kaj fermu la dosieron.
Tiam alia interaga fenestro malfermiĝas, kie vi povas ĝisdatigi viajn komisiajn mesaĝojn en unu nova komesa mesaĝo.
Post kiam vi faris viajn ŝanĝojn, la sekva estas antaŭeniri al fora deponejo.
Premu lokan filion por la unua fojo:
$ git push --set-upstream origin
Post tio, tiam vi povas simple uzi
$ git push
Por puŝi lokan branĉon al alia fora branĉo, vi povas uzi:
$ git push origin :
Se vi devas malfari vian lastan puŝon, vi povas uzi:
$ git reset --hard HEAD~1 && git push -f origin master
Kiam vi uzas git fetch
, Git ne kunigas aliajn devontigojn kun via nuna branĉo. Ĉi tio estas precipe utila se vi bezonas teni vian deponejon ĝisdata, sed laboras pri io, kio povus rompiĝi se vi ĝisdatigas viajn dosierojn.
Por integri la devontigojn en vian ĉefan branĉon, vi uzas merge
.
$ git fetch upstream
Tiri nur faras alporton sekvitan de kunfando. Kiam vi uzas git pull
, Git aŭtomate kunfandas aliajn transdonojn sen lasi vin unue revizii ilin. Se vi ne proksime administras viajn filiojn, vi eble renkontos oftajn konfliktojn.
Se vi havas filion nomatan my_feature
kaj vi volas tiri tiun branĉon, vi povas uzi:
$ git pull origin/my_feature
Aŭ, se vi volas tiri ĉion kaj ĉiujn aliajn branĉojn
$ git pull
Kiam vi kuros git merge
, via HEAD-filio generos nova kompromiso , konservante la devenon de ĉiu farhistorio.
La preterpasi reskribas la ŝanĝojn de unu branĉo sur alian sen kreante novan commit.
$ git checkout my_feature $ git merge master
Aŭ kun opcio rebase, vi uzas:
$ git checkout my_feature $ git rebase master
$ git checkout master $ git merge my_feature
Foje vi faras ŝanĝojn sur branĉo, kaj vi volas ŝanĝi al alia branĉo, sed vi ne volas perdi viajn ŝanĝojn.
Vi povas kaŝi viajn ŝanĝojn. Jen kiel vi konservas en Git:
$ git stash
Nun, se vi volas malstreĉi tiujn ŝanĝojn kaj rekonduki ilin en vian labordosierujon, uzu:
$ git stash pop