Git parancsok gyorsreferencia
A Git a fájlváltozásokat commitok sorozataként követi nyomon egy tárolóban. Ezek a parancsok a napi munkafolyamatot fedik le: tároló indítása, munka mentése, elágaztatás, összeolvasztás és megosztás távolival. Tanuláskor tartsd nyitva ezt a gyorsreferenciát.
| Parancs | Mit csinál |
|---|---|
| git init | Create a new, empty Git repository in the current directory. |
| git clone | Download a remote repository and its full history to your machine. |
| git status | Show changed, staged and untracked files in the working tree. |
| git add | Stage changes (files) to be included in the next commit. |
| git commit | Record staged changes as a new commit with a message. |
| git log | Display the commit history of the repository. |
| git diff | Show unstaged or staged differences between states. |
| git branch | List, create or delete branches in the repository. |
| git checkout / switch | Switch branches or restore files (switch is the modern command). |
| git merge | Join another branch's history into the current branch. |
| git rebase | Reapply commits on top of another base commit, rewriting history. |
| git pull | Fetch from a remote and merge the changes into the current branch. |
| git push | Upload local commits to a remote repository. |
| git stash | Temporarily shelve uncommitted changes to reapply later. |
| git remote | Manage the set of remote repositories you track. |
Megjegyzések
- A legtöbb parancs elfogad kapcsolókat (mint -m az üzenethez vagy -a az összeshez); a teljes listát a 'git help <parancs>' adja.
- Az ágnevek olcsók és eldobhatók — gyakran commitolj egy funkcióágban, aztán merge-eld a mainbe.
- A rebase vagy reset féle romboló parancsok előtt győződj meg róla, hogy a munkád commitolva vagy stash-elve van.
Gyakori kérdések
- Mi a különbség a merge és a rebase között?
- A merge két szülővel rendelkező új commitet hoz létre az elágaztatott történetek egyesítésére. A rebase a commiteket egy másik ág tetejére játssza újra, lineáris történetet adva, de újraírja a commit-azonosítókat.
- Hogyan vonjak vissza egy commitet?
- Használd a 'git revert <commit>' parancsot, ami egy új commitet ad hozzá a változás visszavonására (biztonságos, megőrzi a megosztott történetet). A 'git reset' újraírja a történetet, megosztott ágakon ne használd.
- Mi a különbség a git pull és a git fetch között?
- A fetch letölti a commitokat és referenciákat a távolból anélkül, hogy érintené a munkafát. A pull fetch-tel kezd, majd beolvasztja vagy rebase-eli a változásokat az aktuális ágba.
- Mikor érdemes a git stash-t használni?
- A stash ideiglenesen félrerakja a nem commitolt változásokat, így tisztán válthatsz ágat vagy húzhatsz, majd a 'git stash pop' paranccsal visszaállíthatod őket.