command | description |
---|---|
git init [directory] | Создание пустого git-каталога в [directory] |
git clone [repo] | Клонирование удалённого git-репозитория по указанной ссылке [repo] |
git config user.name [name] | Определение имени автора [name], которое будет использоваться в коммитах. Обычно используется —global флаг |
git add git add src/ git add —all git add —update |
Добавление файлов/директорий [directory], которые будут отслеживаться при изменениях (можно отдельный файл вместо директории) |
git commit -m "[message]” | Фиксация коммита с именем [message] |
git status | Отображает состояние рабочего каталога и раздела проиндексированных файлов. С ее помощью можно проверить индексацию изменений и увидеть файлы, которые не отслеживаются Git. |
git log | Показывает историю коммитов |
git diff [data] git diff abc123 def456 git diff index.html git diff feature-branch master |
Используется для просмотра изменений между коммитами, рабочими каталогами или ветками [data] |
git branch [branch] git branch git branch feature-branch |
Используется для создания веток в Git и просмотра всех (без аргументов) |
git checkout [branch] git checkout main git checkout -b feature-branch |
Используется для переключения между ветками, создания новых (и переключение на них) |
git pull [remote] git pull origin main |
Получение изменений из удаленного репозитория и автоматического объединения их с текущей веткой Можно заменить на git fetch + git merge |
git push [remote] [branch] git push origin main # Отправка новой ветки на удалённый репозиторий: git push -u origin feature-branch |
Используется для отправки изменений из локального репозитория в удаленный репозиторий |
git merge [branch_name] git merge --abort git merge --continue |
Используется для объединения изменений из [branch_name] в текущую |
git cherry-pick [commit] git cherry-pick abc123 # Из нескольких коммитов: git cherry-pick <коммит1> <коммит2> … # Из целой ветки: git cherry-pick feature-branch |
Используется для применения изменений из одного коммита в другую ветку. Это полезно, когда вы хотите взять только определенный коммит из одной ветки и применить его к другой. |
git reset [file] # Отмена индексации файла (git add): git reset index.html # Отмена последнего коммита и сохранение изменений: git reset —soft HEAD^ # Отмена последнего коммита и удаление изменений: git reset —hard HEAD^ # Возврат к определённому коммиту и сохранение изменений: git reset —soft abc123 # Возврат к определённому коммиту и удаление изменений: git reset —hard abc123 |
Используется для отмены изменений |
git revert # Создание нового коммита, который отменяет изменения указанного: git revert abc123 # Создание серии коммитов, каждый из которых отменяет изменения в соответствующем коммите: git revert abc123 def456 # Создание новые коммиты, отменяющие изменения в коммитах в указанном интервале: git revert abc123^..def456 |
Используется для создания нового коммита, который отменяет изменения, внесенные предыдущими коммитами. В отличие от git reset, который изменяет историю коммитов, git revert создает новый коммит, который отменяет эффекты предыдущих коммитов |
git rebase [branch] # Взять все коммиты текущей ветки, которых нет в указанной ветке, и применяет их поверх указанной ветки: git rebase main # Перебазирование текущей ветки с указанного коммита: git rebase abc123 # Прервать перебазирование: git rebase --abort |
Изменение истории коммитов в Git путем перемещения, объединения или изменения коммитов |
git stash # Временно сохраняет все изменения в стэше и возвращает рабочую директорию к состоянию последнего коммита git stash # Вы можете добавить комментарий, чтобы лучше понять, какие изменения были сохранены. git stash save "Изменения для переключения на другую ветку” # Выводит список всех сохраненных стешей git stash list # Применяет последний стеш, но не удаляет его из стека стешей git stash apply # Применяет конкретный стеш по его индексу git stash apply stash@{2} # Применяет последний стеш и удаляет его из стека git stash pop # Удаляет конкретный стеш по его индексу git stash drop stash@{1} # Создает новую ветку и применяет последний стеш к ней git stash branch new_branch_name |
Используется для временного сохранения изменений, которые вы внесли в рабочую директорию, но вы не хотите коммитить прямо сейчас. Это может быть полезно, когда вы хотите переключиться на другую ветку, но у вас есть незакоммиченные изменения. |
git rm [file] <brgit rm index.html # Удаление файла из индекса: git rm --cached index.html # Удаление файла и создание коммита: git rm -m “FIle ABC.txt is deleted” git rm '*.txt’ |
Используется для удаления файлов из рабочей директории и индекса Git |