Шпаргалка по гиту
Оглавление
Указать имя пользователя и почтовый адрес локально (в рамках текущего репозитория)
Удобно, если есть личные репозитории и рабочие на одной машине.
git config --local user.name "Nick"
git config --local user.email "e@41q.ru"
Посмотреть
Локальные параметры
git config --local user.name
Nick
git config --local user.email
e@41q.ru
Список локальных веток
git branch
Какие ветки были удалены, но еще не очищены
git branch -a
Список веток в удаленном репозитории
git ls-remote --heads origin 'release/*'
Содержимое stash
git stash show -p stash@{0}
удалённые репозитории
git remote -v
Историю изменения файла
git log -- README.md
| аргумент | назначение |
|---|---|
| -v | (verbose) более подробно |
| -p | (patch) с диффом |
Ветки
Переключиться на существующую ветку
git switch <branch>
Создать новую ветку
на основе текущей
git switch -с <branch>
на основе удаленной
git switch -c <new-branch> [<start-point>]
Удаленные репозитории (remotes)
git remote -v # посмотреть удаленные репозитории
git remote set-url origin git@gitverse.ru:e4779/some_repo # изменить адрес репозитория
Отменить последний коммит
git reset HEAD~1
больше о git reset (selectel.ru/blog)
Cклонировать репозиторий
По-умолчанию, в текущей директории будет создана директория по-названию репозитория (gigachain)
git clone git@github.com:ai-forever/gigachain.git
Cloning into 'gigachain'...
можно указать произвольную директорию
git clone git@github.com:ai-forever/gigachain.git gChain
Cloning into 'gChain'...
git постоянно просит ввести пароль, хотя ssh-ключ вроде как настроен
Надо посмотреть, как указан удаленный репозиторий. Если указан протокол https, то всегда будет использоваться https, а там спрашивается логин и пароль.
Проверить это можно, посмотрев удаленные репозитории:
% git remote -v
gitverse https://gitverse.ru/sc/....git (fetch)
gitverse https://gitverse.ru/sc/....git (push)
Можно удалить этот репозиторий
% git remote remove gitverse
А потом, добавить заново:
% git remote add gitverse ssh://git@gitverse.ru:2222/....git
И ещё проверить файл ~/.ssh/config, чтобы там был указан тот же ключик, что заведен на удаленном репозитории.
% cat ~/.ssh/config
Host gitverse.ru
User --my-username--
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519_my-identity-file