Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:verziokontroll:github

< Verziókontroll

GitHub

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:

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

Ellenőrzés:

gh --version

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
oktatas/programozas/verziokontroll/github.txt · Utolsó módosítás: 2024/02/08 21:46 szerkesztette: admin