Tartalomjegyzék
GitHub
- Szerző: Sallai András
- Copyright © 2020, Sallai András
- Szerkesztve: 2020-2024
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Webhely
A github.com egy git szerver, ami rendelkezik fejlett webes felülettel. Lehetőségek:
- Projekt létrehozása.
- Fájlok és könyvtárak fel és letöltése.
- Együttműködés beállítása más felhasználókkal.
- Szervezet létrehozása.
- Privát és publikus tárolók.
- Projektek létrehozása.
- Kiadások készítése.
- Weblap beállítása a tárolóhoz.
- Kulcs használata azonosításhoz.
- stb.
Kezdés
Szerver
A GitHub szerver használatához regisztrálni kell egy e-mail címmel.
Új tároló
https://github.com/new
Tároló
Ha a GitHubon létrehozunk egy új tárolót, annak helyén néhány ajánlást látunk, amit elvégezhetünk a helyi gépünkön. Ha nincs még helyben git tároló:
echo "# app01" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/janos01/app01.git git push -u origin main
A janos01 felhasználót feltelezzük, az app01 tároló névvel.
Ha a „git remote add” hatására azt mondja már be van állítva az origin távoli elérés, akkor javítsuk az „add” szót „set-url”-re.
git remote set-url origin https://github.com/janos01/app01.git
README.md
A github.com szerverre érdemes feltenni egy README.md állományt is, A github kódnézetében, a forrásfájlok alatt a README.md állományt egy egyszerű weblapként látjuk viszont.
A Markdown fájlok formázásáról többet olvashatsz a Markdown fejezetben.
Weblap
A Github három lehetőséget biztosít egy tárolóhoz weboldal készítésre:
- README.md fájl alapján
- docs/ könyvtár alapján
- gh-pages branch alapján
Eredetileg csak a gh-pages ággal működött. Mar már a master (vagy main) ágon is létrehozhatunk egy docs könyvtárat, és abban elhelyezhetjük a weblapot.
gh-pages branch
Létrehozunk egy ágat, aminek nincs előtörténete gh-pages néven:
git checkout --orphan gh-pages
Töröljük tartalmat:
git rm -rf .
Töröljük ki a maradék tartalmat, majd hozzuk létre a weblapot:
index.html
A weblap itt látszik:
Beállítás
A projekt kiválasztása után:
- Settings fül
- Pages bal oldalon
- Source kombobox
Weblap a felhasználó számára
Hozzunk létre egy olyan projektet, ami felhasználónevünk, majd github.io névre végződik.
valaki.github.io
git clone https://github.com/valaki/valaki.github.io
cd valaki.github.io echo "Saját weblap" > index.html
git add --all git commit -m "Kezdés" git push -u origin main
Forrás:
- https://pages.github.com/ (2022)
Nyilvános kulcs nélkül
git remote add origin https://github.com/janos/projekt02.git
A kimenet hasonló lehet:
$ git push -u origin master Username for 'https://github.com': janos Password for 'https://janos@github.com': Enumerating objects: 28, done. Counting objects: 100% (28/28), done. Delta compression using up to 2 threads Compressing objects: 100% (20/20), done. Writing objects: 100% (28/28), 3.22 KiB | 1.61 MiB/s, done. Total 28 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), done. To https://github.com/janos/projekt02.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.
Együttműködés
Ha együttműködésben dolgozunk valakivel, és az együttműködő partnerünk már létrehozta a projektet, és legalább egy kezdőállapotot feltöltött a szerverre, akkor git clone paranccsal kezdjünk, a git init helyett.
git clone ...
A kezdő branch neve
A kezdő brancs neve lehet main is. Ha szeretnénk beállítani, hogy mindig így jöjjön létre:
git config --global init.defaultBranch main
Ha nem így hoztuk létre nevezzük át:
git branch -m main
Nem kötelező main legyen, csak a master kerülendő a GitHub szerint.
Windows 10 hitelesítő adatok
Gyakori probléma osztott módon használt gépeknél, hogy nem működik a
git push
parancs, mivel valaki más nevében szeretne a git
hitelesíteni. Egy CLI és egy GUI megoldást látunk itt.
CLI
Két parancsra van szükségünk:
- cmdkey /list
- cmdkey delete:Target
A cmdkey /list listázza a bejegyzett hitelesítőadatokat:
cmdkey /list
Keressük meg van-e GitHub-ra vonatkozó beállítása.
Törlés:
cmdkey /delete git:https://github.com
GUI
GUI felületen:
- Vezérlőpult >
- Kategória nézet esetén:
- Felhasználói fiókok:
- Hitelesítőadat-kezelő
- Windows rendszerbeli hitelesítő adatok kezelése.
- Ikon nézet esetén:
- Hitelesítőadat-kezelő >
- Windows rendszerbeli hitelesítő adatok kezelése.
Keressünk egy GitHub-hoz beállított hitelesítő adatot. Töröljük.
Egyéb
A hitelesítő adatok gyorsítótárának használatának tiltása (így kér jelszót):
git config --global --unset credential.helper
A név és e-mail beállítása
Nevek, e-mailek cseréje:
git config --global --replace-all user.name "Nagy János" git config --global --replace-all user.email "janos@zold.lan"
Nevek és e-mail megszüntetése:
git config --global --unset user.name git config --global --unset user.email git config --global --unset-all user.name
Statikus weboldal
- Válasszuk ki a GitHub tárolót (repository)
- Felül kattintsunk a Settings fülre
- Pages lehetőség baloldalon
Windows SSH hitelesítés
choco install openssh
Kulcsgenerálás:
ssh-keygen
Ha legyártottuk a kulcsot, vágólapra kell tenni:
type .ssh\id_rsa.pub | clip
PowerShellben közvetlenül:
Get-Content .ssh\id_rsa.pub | Set-Clipboard
(macOS-en pbcopy parancsra kell irányítani)
Linuxon SSH hitelesítés
Linuxon automatizálhatjuk a feltöltést, ha ssh kulcsot használunk.
Gyártsuk le az ssh-keygen paranccsal egy privát és publikus kulcspárt:
ssh-keygen
Gyárthatunk külön fájlt:
ssh-keygen -f github_valaki_rsa.pub
Nézzük meg a publikus kulcs tartalmát:
cat ~/.ssh/id_rsa.pub
A kulcs tartalmát másoljuk vágólapra.
cat ~/.ssh/id_rsa.pub | xclip -sel clip
A GitHub webhelyen:
- Válasszuk ki a kívánt tárolót.
- „Settings” link
- „Deploy keys” baloldalon.
- „Add deploy key” gomb, valahol jobbra fent.
- Adjunk meg egy tetszőleges nevet
- Lehetőleg utaljon arra, melyik gépen található a titkos kulcs
SSH beállítása
Szerkesszük a ~/.ssh/config fájlt, vegyünk fel egy bejegyzést:
- ~/.ssh/config
Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa.pub IdentitiesOnly yes
Token alapú azonosítás
- Profil ikon > Settings > Developer settings
- Personal access tokens
- Tokens (classic)
- [Generate new token]
- Generate new token (classic)
Scope beállítása
Egyetlen pipa:
- [✔] workflow
Ez kipipálja az előző „repo” részt. A workflow joggal használhatjuk a „git push” parancsot.
Elkészült token
GitHub CLI
Release
A Release kadást jelent.
A kiadás létrehozása során meg kell adnunk egy tag-t. Például:
- v1.0.0
Release title:
- v1.0.0 - Első stabil kiadás
Húzzuk a kiadást ide: Attach binaries by dropping them here or selecting them.
Hibák
Azonosítás probléma. Hibaüzenet git push eredményeként:
- Missing or invalid credentials.
Amit ellenőrizzünk:
- VSCode
- settings-git: Terminal Auth
- settings-github: Git Auth