Сохраняю для себя различные полезные советы по работе с Git, дабы не гуглить постоянно одно и то же. Возможно, кому-то еще будет полезно.
- Сброс (отмена) коммита(ов). Для этого есть команда
git reset.
git reset --hard отменит все незакоммиченные изменения.
git reset --hard HEAD^ откатит на один коммит назад.
git reset --hard HEAD~n откатит последние n коммитов. - Предыдущий пункт описывает достаточно рискованные манипуляции, в случае ошибки можно потерять важные изменения. Однако если прошло немного времени, то git все вернет:
git reflogпокажет последние коммиты, откаты и т.д. Смотрим нужный SHA1 и запоминаем/копируем/переписываем.
git reset --hardвернет нас обратно к этому SHA1. - Когда в репозитории много веток, получить их разом можно командой
git fetch <имя remote> - Создать локальную копию ветки удобно с использованием ключа
--track, напримерgit checkout --track -b origin/3.1/develop. - Выдернуть конкретный коммит из другой ветки можно командой cherry-pick:
git cherry-pick commit_hash - Поиск ветки, в которой лежит нужный коммит:
git branch --contains commit_hash - Выдергивание списка коммитов в формате “один коммит – одна строка”. Содержит только хэш (короткий) и описание коммита. Потом удобно его grep’ать, чтобы остались только нужные (например, по номеру тикета из описания):
git log --pretty='tformat:%h %s'
Комментарии (0)
Будьте в курсе обсуждения, подпишитесь на RSS ленту комментариев к этой записи.