Ugrás a fő tartalomhoz

GitHub kezdőknek

A Git és a GitHub a modern szoftverfejlesztés alapvető eszközei. Segítenek a kód verziókezelésében, csapatmunkában és a projektek biztonságos tárolásában.

Mi az a Git és GitHub?

Git

A Git egy elosztott verziókezelő rendszer, amelyet Linus Torvalds fejlesztett 2005-ben. Lehetővé teszi:

  • Kódváltozások nyomon követését
  • Korábbi verziókhoz való visszatérést
  • Párhuzamos fejlesztést branch-eken
  • Offline munkát a teljes projekt történetével

GitHub

A GitHub egy felhőalapú platform Git repository-k tárolására és kezelésére. Funkciói:

  • Repository hosting
  • Együttműködési eszközök (Issues, Pull Requests)
  • CI/CD integráció (GitHub Actions)
  • Projektmenedzsment (Projects, Milestones)
  • Kód review és biztonság
Összefoglalva

Git = verziókezelő eszköz a gépeden GitHub = online platform a Git repository-k tárolására

Miért érdemes megtanulni?

SzempontElőny
CsapatmunkaTöbb fejlesztő dolgozhat ugyanazon a projekten
BiztonságA kód biztonságosan tárolva, nem vész el
TörténetMinden változás visszakövethető
VisszaállításBármikor visszatérhetsz korábbi verzióhoz
Iparági standardA legtöbb cég elvárja a Git ismeretét

A GitHub 2024-ben már több mint 100 millió fejlesztőt számlál, és a legtöbb nyílt forráskódú projekt itt található.

Telepítés és beállítás

1. Git telepítése

macOS

# Homebrew-val (ajánlott)
brew install git

# Vagy Xcode Command Line Tools-zal
xcode-select --install

Windows

Töltsd le a telepítőt: git-scm.com/download/win

Vagy használd a winget-et:

winget install Git.Git

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install git

Ellenőrzés

git --version
# Kimenet: git version 2.43.0

2. GitHub fiók létrehozása

  1. Látogass el a github.com/signup oldalra
  2. Add meg az email címed
  3. Válassz felhasználónevet és jelszót
  4. Erősítsd meg az email címed

3. Git konfiguráció

A GitHub fiókod összekapcsolása a Git-tel:

# Felhasználónév beállítása
git config --global user.name "Felhasználóneved"

# Email beállítása (ugyanaz, mint a GitHub-on)
git config --global user.email "[email protected]"

# Alapértelmezett branch neve
git config --global init.defaultBranch main

# Beállítások ellenőrzése
git config --list

4. SSH kulcs beállítása (ajánlott)

Az SSH kulcs biztonságosabb és kényelmesebb, mint a jelszó használata.

# SSH kulcs generálása
ssh-keygen -t ed25519 -C "[email protected]"

# Kulcs hozzáadása az SSH agent-hez
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

# Publikus kulcs megjelenítése
cat ~/.ssh/id_ed25519.pub

A megjelenő kulcsot másold ki, majd:

  1. GitHub → SettingsSSH and GPG keys
  2. Kattints a New SSH key gombra
  3. Illeszd be a kulcsot és mentsd

Ellenőrzés:

ssh -T [email protected]
# Kimenet: Hi username! You've successfully authenticated...

Alapvető Git parancsok

Repository létrehozása

# Új repository inicializálása
git init

# Meglévő repository klónozása
git clone https://github.com/user/repo.git

# SSH-val klónozás
git clone [email protected]:user/repo.git

Alapvető workflow

# 1. Állapot ellenőrzése
git status

# 2. Fájlok hozzáadása a staging area-hoz
git add . # Minden fájl
git add filename.php # Egy fájl
git add src/ # Egy mappa

# 3. Változások commitolása
git commit -m "Add: új funkció leírása"

# 4. Feltöltés GitHub-ra
git push origin main

Branch kezelés

# Branch-ek listázása
git branch

# Új branch létrehozása és váltás
git checkout -b feature/new-feature

# Branch váltás
git checkout main

# Branch törlése
git branch -d feature/new-feature

# Branch merge-elése
git checkout main
git merge feature/new-feature

Távoli repository kezelés

# Remote hozzáadása
git remote add origin [email protected]:user/repo.git

# Remote-ok listázása
git remote -v

# Változások lekérése
git pull origin main

# Változások feltöltése
git push origin main

Hasznos parancsok

# Változások megtekintése
git diff

# Commit történet
git log --oneline

# Utolsó commit visszavonása (lokálisan)
git reset --soft HEAD~1

# Fájl visszaállítása
git checkout -- filename.php

# Stash (változások ideiglenes félretétele)
git stash
git stash pop

Első projekt feltöltése GitHub-ra

1. Hozz létre egy repository-t GitHub-on

  1. Kattints a + ikonra → New repository
  2. Add meg a repository nevét
  3. Válaszd ki: Public vagy Private
  4. Ne pipáld be a "Add a README file" opciót
  5. Kattints: Create repository

2. Töltsd fel a projekted

# Navigálj a projekt mappájába
cd /path/to/your/project

# Git inicializálása
git init

# README létrehozása
echo "# Projekt neve" >> README.md

# Fájlok hozzáadása
git add .

# Első commit
git commit -m "Initial commit"

# GitHub remote hozzáadása
git remote add origin [email protected]:username/repo-name.git

# Feltöltés
git push -u origin main

GitHub Desktop

A GitHub Desktop egy grafikus alkalmazás, amely megkönnyíti a Git használatát.

Telepítés

  1. Töltsd le: desktop.github.com
  2. Telepítsd az alkalmazást
  3. Jelentkezz be a GitHub fiókod

Főbb funkciók

FunkcióLeírás
CloneRepository letöltése
CommitVáltozások mentése
Push/PullSzinkronizálás GitHub-bal
BranchBranch-ek kezelése
HistoryCommit történet megtekintése
DiffVáltozások vizuális összehasonlítása

Használat

  1. Repository klónozása: File → Clone repository
  2. Változások commitolása: Írj commit üzenetet és kattints a Commit gombra
  3. Push: Kattints a Push origin gombra
  4. Pull: Kattints a Fetch origin, majd Pull gombra

Commit üzenet konvenciók

Használj tiszta, leíró commit üzeneteket:

# Formátum
<típus>: <rövid leírás>

# Típusok
feat: Új funkció
fix: Hibajavítás
docs: Dokumentáció
style: Formázás (nem változtat kódon)
refactor: Refaktorálás
test: Tesztek
chore: Build, konfiguráció

# Példák
git commit -m "feat: Add user authentication"
git commit -m "fix: Resolve login page redirect issue"
git commit -m "docs: Update README with installation steps"

.gitignore

A .gitignore fájl meghatározza, mely fájlokat ne kövesse a Git.

WordPress projekt .gitignore

# WordPress core (ha Composer-rel kezeled)
/wp/

# Uploads
wp-content/uploads/

# Cache
wp-content/cache/
wp-content/advanced-cache.php
wp-content/wp-cache-config.php

# Konfigurációs fájlok
wp-config.php
.env

# IDE
.idea/
.vscode/
*.sublime-*

# OS
.DS_Store
Thumbs.db

# Dependencies
/vendor/
/node_modules/

# Build
/dist/
*.min.js
*.min.css

# Logs
*.log
debug.log

Gyakori hibák és megoldások

"Permission denied (publickey)"

# SSH kulcs ellenőrzése
ssh -T [email protected]

# Ha nincs kulcs, generálj újat
ssh-keygen -t ed25519 -C "[email protected]"

"Updates were rejected"

# Először pull-olj
git pull origin main --rebase

# Majd push
git push origin main

"Merge conflict"

# 1. Nyisd meg a konfliktusok fájlokat
# 2. Keresd meg a <<<<<<< és >>>>>>> jelöléseket
# 3. Szerkeszd manuálisan
# 4. Add hozzá és commitold

git add .
git commit -m "fix: Resolve merge conflicts"

Rossz commit visszavonása

# Utolsó commit visszavonása (változások megmaradnak)
git reset --soft HEAD~1

# Utolsó commit törlése (változások is törlődnek!)
git reset --hard HEAD~1

VS Code integráció

A VS Code beépített Git támogatással rendelkezik:

  1. Source Control panel (Ctrl+Shift+G)
  2. Git Graph extension a vizuális történethez
  3. GitLens extension haladó funkciókhoz

Hasznos VS Code Git műveletek

  • Stage Changes: + ikon a fájl mellett
  • Commit: ✓ ikon a tetején
  • Push/Pull: ... menü → Push/Pull
  • Branch váltás: Bal alsó sarokban

Források