Git & GitHub

Si ruhet historiku i kodit dhe si punohet në ekip. · 38 terma

.gitignore

.gitignore është një skedar ku shkruan cilat skedarë ose dosje duhet t'i injorojë Git-i — p.sh. fjalëkalimet, dosjet e mëdha të paketave ose skedarët e përkohshëm. Ato nuk ngarkohen kurrë në GitHub.

Branch

Degë

Dega është një version paralel i projektit ku provon diçka të re pa e prishur versionin kryesor. Kur je gati, e bashkon degën me degën kryesore (main).

Cherry-pick

Cherry-pick do të thotë ta marrësh vetëm një commit të caktuar nga një degë tjetër dhe ta shtosh në degën tënde, pa i marrë të gjitha të tjerat.

Clone

Klonim

Clone do të thotë të shkarkosh një kopje të plotë të një repository-je — me gjithë historikun — nga GitHub në kompjuterin tënd. E bën një herë, kur nis të punosh në një projekt.

Collaborator

Bashkëpunëtor

Bashkëpunëtori është dikush që ka leje të punojë direkt në repository-n tënd në GitHub. Kontribuesi (contributor) është kushdo që ka shtuar diçka në projekt — shpesh përmes një fork-u dhe një pull request-i.

Commit

Ruajtje e ndryshimeve

Commit-i është një „fotografi“ e projektit tënd në një moment të caktuar, me një mesazh që shpjegon çfarë ndryshove. Git-i i ruan të gjitha commit-et, që të mund të kthehesh te secili prej tyre.

Commit message

Mesazhi i commit-it

Mesazhi i commit-it është përshkrimi i shkurtër i asaj që ndryshove dhe pse. Një mesazh i mirë („Shto formularin e kontaktit“) i ndihmon të tjerët — dhe ty pas gjashtë muajsh — ta kuptojnë historikun; „ndryshime“ ose „asdf“ s'ndihmojnë askënd.

Diff

Dallimet

Diff-i tregon saktë çfarë ndryshoi mes dy versioneve: rreshtat e shtuar zakonisht me të gjelbër (+) dhe të hequrit me të kuq (−). E sheh me git diff dhe te çdo pull request në GitHub.

Fork

Fork-u është një kopje e repository-së së dikujt tjetër në llogarinë tënde në GitHub. Mund ta ndryshosh lirisht dhe, nëse do, t'ia propozosh ndryshimet projektit origjinal me një pull request.

Git

Git-i është një mjet që ruan historikun e çdo ndryshimi në kodin tënd. Mund të kthehesh te një version i vjetër kur diçka prishet, dhe disa njerëz mund të punojnë në të njëjtin projekt pa ia fshirë punën njëri-tjetrit.

git fetch

git fetch i shkarkon ndryshimet e reja nga remote-i (p.sh. GitHub), por pa i përzier me punën tënde. Kështu sheh çfarë ka të re para se të vendosësh ta bashkosh — git pull bën fetch + merge njëherësh.

git log

Historiku i commit-eve

git log të tregon historikun e projektit: çdo commit, kush e bëri, kur dhe me çfarë mesazhi. Me të e kupton kur dhe pse ndryshoi diçka.

git reset

git reset e kthen degën tënde te një commit më i hershëm, sikur commit-et e mëvonshme të mos kishin ndodhur. Është e fuqishme por e rrezikshme — me --hard ndryshimet humbin përgjithmonë, ndaj përdore vetëm për punë që s'e ke ndarë ende.

git revert

Zhbërje e commit-it

git revert e zhbën një commit duke krijuar një commit të ri që bën të kundërtën e tij. Historiku mbetet i plotë, ndaj është mënyra e sigurt për të zhbërë diçka që e ke ndarë tashmë me të tjerët.

git stash

git stash i fsheh përkohësisht ndryshimet që s'i ke bërë ende commit, që projekti të jetë i pastër — p.sh. për të ndërruar degë shpejt. Më vonë i kthen me git stash pop.

git status

git status të tregon gjendjen e projektit: cilët skedarë ke ndryshuar, cilët janë gati për commit dhe në cilën degë je. Është komanda më e përdorur — kur s'je i sigurt, shkruaj git status.

git switch / checkout

Ndërrim dege

git switch (ose komanda më e vjetër git checkout) të kalon nga një degë në tjetrën. Skedarët në kompjuter ndryshojnë menjëherë, që të përputhen me atë degë.

GitHub

GitHub-i është një faqe interneti ku i ruan repository-t e Git-it online, që t'i ndash me të tjerët. Aty bashkëpunon me ekipin, shikon projekte open source dhe mund ta tregosh portofolin tënd.

GitHub Actions

GitHub Actions është shërbimi i GitHub-it për automatizim: skedarë të vegjël rregullash që ekzekutohen vetë kur bën push ose hap një pull request — p.sh. për të nisur testet ose për të publikuar faqen.

GitHub Pages

GitHub Pages është hostimi falas i GitHub-it për faqe statike (HTML, CSS, JavaScript). E vendos faqen në një repository dhe ajo del live në një adresë si emri.github.io — ideale për portofolin e parë.

HEAD

HEAD është një tregues që shënon ku je tani në historikun e Git-it — zakonisht commit-in e fundit të degës ku ndodhesh. HEAD~1 do të thotë „një commit më parë“.

Issue

Issue-ja është një shënim në GitHub ku dikush raporton një bug, kërkon një veçori të re ose bën një pyetje për projektin. Ekipi i diskuton dhe i mbyll kur zgjidhen.

License (open source)

Licencë

Licenca është teksti që thotë çfarë lejohen të bëjnë të tjerët me kodin tënd — ta përdorin, ta ndryshojnë, ta shesin. Pa licencë, kodi në GitHub s'mund të ripërdoret ligjërisht nga të tjerët. Licencat e njohura: MIT, GPL, CC0.

main / master

Dega kryesore

main (më herët quhej master) është dega kryesore e një repository-je — versioni zyrtar i projektit. Punën e re e bën në degë të tjera dhe e bashkon në main kur është gati. Te ky fjalor, çdo push në main del live.

Markdown

Markdown-i është një mënyrë e thjeshtë për të formatuar tekst me shenja të zakonshme: # për tituj, **…** për tekst të trashë, - për lista. README-të, issue-t dhe komentet në GitHub shkruhen me Markdown.

Merge

Bashkim

Merge do të thotë t'i bashkosh ndryshimet e një dege në një degë tjetër, zakonisht në main. Git-i i kombinon vetë ndryshimet, përveç kur dy njerëz kanë ndryshuar të njëjtin rresht.

Merge conflict

Konflikt bashkimi

Konflikti ndodh kur dy njerëz e kanë ndryshuar të njëjtin rresht në mënyra të ndryshme, dhe Git-i nuk di cilin version ta mbajë. Atëherë vendos ti, e rregullon skedarin dhe bën commit.

Pull

Tërheqje

Pull do të thotë t'i marrësh ndryshimet më të reja nga repository-ja online në kompjuterin tënd. E bën para se të nisësh punën, që të kesh versionin më të fundit të shokëve të ekipit.

Pull request

Kërkesë për bashkim

Pull request-i (PR) është një kërkesë në GitHub që thotë: „Bëra këto ndryshime në degën time — a mund t'i bashkojmë?“ Të tjerët e lexojnë kodin, lënë komente dhe e miratojnë para bashkimit.

Push

Dërgim

Push do të thotë t'i dërgosh commit-et nga kompjuteri yt te repository-ja online, p.sh. në GitHub. Pas push-it, edhe të tjerët i shohin ndryshimet e tua.

README

README-ja është skedari i parë që sheh dikush kur hap një projekt në GitHub. Shpjegon çfarë bën projekti, si instalohet dhe si përdoret — si një kartëvizitë e projektit.

Rebase

Rebase-i i merr commit-et e degës tënde dhe i „ri-vendos“ mbi versionin më të ri të një dege tjetër, sikur ta kishe nisur punën që nga ai moment. Historiku del më i pastër se me merge, por duhet kujdes kur dega është e ndarë me të tjerë.

Remote (origin)

Depo në distancë

Remote-i është kopja e repository-së që ndodhet diku tjetër, zakonisht në GitHub. Emri i zakonshëm i saj është origin. Me push i dërgon ndryshimet atje, me pull i merr prej andej.

Repository

Depo kodi

Repository (shkurt „repo“) është dosja e projektit tënd bashkë me gjithë historikun e ndryshimeve që ruan Git-i. Mund të jetë vetëm në kompjuterin tënd ose online, p.sh. në GitHub, ku mund ta ndash me të tjerët.

SSH key

Çelës SSH

Çelësi SSH është një çift çelësash — një publik dhe një privat — që i lejon kompjuterit tënd të lidhet me GitHub-in ose me një server në mënyrë të sigurt, pa shkruar fjalëkalimin çdo herë. Çelësin privat mos ia jep kurrë askujt.

Staging area

Zona e përgatitjes

Staging area është „dhoma e pritjes“ ku i vendos ndryshimet që do të hyjnë në commit-in e radhës, me komandën git add. Kështu zgjedh saktësisht çfarë ruan, edhe nëse ke ndryshuar shumë skedarë.

Star (GitHub)

Yll (GitHub)

Ylli në GitHub është si një „like“ për një repository: e shton për ta ruajtur dhe për t'i treguar autorit që të pëlqen. Projektet me shumë yje zakonisht janë të njohura dhe të besueshme.

Tag / release

Etiketë / version

Tag-u është një emër i përhershëm që ia vendos një commit-i të rëndësishëm, si v1.0. Në GitHub, nga një tag krijon një release — një version zyrtar me shënime se çfarë ka të re.