Bevezetés a Git használatába¶
Verzió kezelő rendszerek¶
- Verzió
- Ki változtatta meg? pl.: Progra Márton
- Mit változtatott meg? pl.: Main.java
- Miért változtatta meg? (commit message) pl.: súgó hozzáadása
- Mikor változtatta meg? pl.: 2015. március 14. 9:26:53
- https://git-scm.com/video/what-is-version-control
- Git, Subversion, TFS, Mercurial, …
Központosított és elosztott rendszerek¶
Git parancsok¶
Kérdezz és gondolkodj minden parancs előtt!¶
- git status
- https://git-scm.com/docs/git-status
- working copy aktuális állapota
- git log
- https://git-scm.com/docs/git-log
- Commit log lekérdezése
- git show
- https://git-scm.com/docs/git-show
- Künlöböző objektumok megjelenítése
- tag, tree, commit, …
Inicializálás¶
- Javasoljuk a Git bash használatát
- A Git segít!
- A Git logikáját tanuljuk meg ne egy grafikus felületét!
Feladat¶
- Hozzunk létre egy üres Git repository-t
- mkdir pista && cd pista && git init
- Adjunk hozzá a megfelelő .gitignore fájlt
- https://github.com/github/gitignore
- Adjunk hozzá egy readme.md fájlt
- Helyezzük el a verziókövető rendszerben a fájlokat
- git add -A && git commit -m "initialization”
- Adjunk hozzá egy licence fájlt
- https://choosealicense.com/
- Helyezzük el a verziókövető rendszerben a fájlt
Branching - Merging¶
- Minden commit tárol az ősére (őseire) mutató hivatkozást
- Branch egy mutató ami egy adott commit-ra mutat
- Hozzunk létre egy új branch-et
- git checkout -b feature
- Adjunk hozzá egy új fájlt és commit-oljuk
- Merge-eljük vissza branch-et a master-re
- git checkout master && git merge --no-ff feature
- Töröljük a feature branch-et
- git branch -d feature
Pull-Push, Clone¶
- Hozzunk létre egy másolatot (klónt) egy meglévő repositoty-ból
git clone
-
Adjunk hozzá és commitáljunk egy új fájlt a pista repo-hoz
-
Pull-oljuk a pista-ból joska-ba az új commitokat
git pull --no-ff origin master
- Push-oljuk az új commitokat az origin repo-ba
git push origin
Hasznos Git parancsok¶
Referencia: https://git-scm.com/book/en/v2
- Nagy bináris fájlok tárolása
- Use .gitignore
- A „force” nem véletlenül „force”!
- -f kapcsoló
- git rebase
- git reset
- git cherry-pick
- https://stackoverflow.com/questions/25720268/git-commands-that-could-break-rewrite-the-history/25720329#25720329
Feladat¶
- Klónozzuk le az előző órán létrehozott projektet a munkaállomásunkra!
- Készítsük el saját fejlesztői branchünket a projektszerkezet figyelembevételével!
- Érvényesítsük a változásokat a szerveren!
Utolsó frissítés:
2023-02-02 18:28:39