Шпаргалка з команд Git
Git записує зміни файлів як серію комітів у репозиторії. Ці команди охоплюють щоденний цикл: створення репозиторію, збереження роботи, гілкування, злиття та обмін із віддаленим. Тримайте шпаргалку відкритою під час навчання.
| Команда | Призначення |
|---|---|
| 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. |
Примітки
- Більшість команд приймають флаги (наприклад, -m для повідомлення чи -a для всіх); повний список — у 'git help <команда>'.
- Імена гілок дешеві й їх можна кинути — частіше коммітте у гілку фічі, потім зливайте в main.
- Перед руйнівними командами на кшталт rebase або reset переконайтеся, що робота закомічена або схована в stash.
Часті запитання
- У чому різниця між merge і rebase?
- Merge об'єднує історії новим комітом із двома батьками. Rebase відтворює ваші коміти поверх іншої гілки, даючи лінійну історію, але переписує ID комітів.
- Як скасувати коміт?
- Скористайтеся 'git revert <коміт>', щоб додати новий коміт, що скасовує зміну (безпечно, спільна історія). 'git reset' переписує історію і не варто застосовувати на спільних гілках.
- У чому різниця між git pull і git fetch?
- Fetch завантажує коміти та посилання з віддаленого, не торкаючись робочого дерева. Pull робить fetch, а потім зливає або робить rebase цих змін у поточну гілку.
- Коли використовувати git stash?
- Stash тимчасово відкладає незакомічені зміни, щоб ви могли чисто перемкнути гілку або зробити pull, а потім відновити їх командою 'git stash pop'.