Git CLI
Как создать новый репозиторий в текущей папке?
git init
Как привязать локальный репозиторий к удаленному?
git remote add origin https://git.exmple.org/repo.git
Как клонировать/извлечь удаленный репозиторий?
Клонировать ветку master
git clone https://github.com/alekseynemiro/knowledgebase.git
Клонировать определенную ветку
git clone -b <branch_name> <repo_url>
Как получить список веток из удаленного репозитория?
git fetch --all
Как проверить статус текущей ветки?
git status
Как отобразить название текущей ветки?
Имя текущей ветки
git branch --show-current
Список всех веток
git branch
Как создать новую ветку?
Создать новую ветку
git branch <branch_name>
Создать новую ветку и переключиться на неё
git checkout -b <branch_name>
Как переключиться на ветку?
git checkout <branch_name>
Как получить изменения из удаленного репозитория?
Из текущей ветки
git pull
Из определённой ветки
git pull origin <branch_name>
Как зафиксировать изменения (сделать коммит)?
В большинстве случаев достаточно просто зафиксировать все изменения:
Фиксация изменений
git commit -m "Commit message"
Если необходимо внести изменения в индекс:
Добавить файл или папку в индекс
git add <file_or_dir_path>
<file_or_dir_path>
— допустимо использовать шаблон в формате wildcard. Например —git add *.ts
.
Add all changes and ignore new files
git add -A .
Как отправить изменения в удаленный репозиторий?
Отправить в текущую ветку
git push
Отправить в определённую ветку
git push origin <target_branch_name>
Если целевая ветка не существует, она будет создана автоматически.
Для отслеживания ветки используйте флаг --set-upstream
(-u
):
git push --set-upstream origin <target_branch_name>
Отправить изменения для всех веток и подключить отслеживание для этих веток:
git push --all --set-upstream origin
Как удалить ветку?
Удалить локальную ветку
git branch -d <branch_name>
Удалить удаленную ветку
git push -d origin <branch_name>
Для принудительного удаления можно использовать флаг -f
.
Как создать метку (тег)?
В следующих примерах показано создание метки для последней фиксации (последнего коммита):
Создать новую метку
git tag v1.0
Создать новую метку с сообщением
git tag -a <tag_name> -m '<tag_message>'
Как отправить метку (тег) на удаленный сервер?
Отправить метку v1.0
git push origin tag v1.0
Как удалить метку (тег)?
Удалить метку локально
git tag -d <tag_name>
Удалить метку из удаленного репозитория
git push origin -d <tag_name>
Как переименовать метку (тег)?
Изменение имени тегов в git как такого нет. Есть обходной путь — создать новую метку со ссылкой на старую и затем удалить старую метку:
git tag new old
git tag -d old
git push origin new
git push origin -d old
Как удалить из локального репозитория несуществующие в удалённом репозитории метки (теги)?
git fetch --prune-tags
Что такое origin
?
origin
— имя удаленного репозитория по умолчанию.
Как получить хэш последнего коммита, дату и имя ветки в одной строке?
Это может быть полезно для генерации номера версии.
git log -1 --pretty='%H;%aI;%D'
Как проверить, имеет ли коммит подпись (gpg)?
git verify-commit <commit_hash>
git log --show-signature