Git — Verbose Mode: Debug Fatal Errors

Иногда в Git может быть сложно сделать debug какой-то ошибки, как например «fatal: repository not found» или «fatal: authentication failed«, принимая во внимания низкий уровень детализации сообщений в Git по умолчанию. Чтобы сделать отладку разных проблем в Git, связанных с сетью, безопасностью, производительностью и прочими вещами, очень полезно знать, как увеличить уровень детализации логов. В […]

Git — Получение Короткого Хэша (SHA-1)

ID коммита в Git — это 40-значный хэш SHA-1, который может быть сокращен до самой короткой 4-значной версии (7 по умолчанию). В этой заметке я покажу, как сократить длинный хэш до короткого хэша в Git и как отобразить сокращенные хэши в выводах команд git log и git show.

Git — Откат Изменений к Определенному Коммиту

В Git мы можем корректно вернуть все изменения к определенному коммиту без использования потенциально опасной команды git reset. В этой заметке я показываю, как отменить локальные изменения, сделав откат к определенному коммиту и как сделать rollback в удаленном репозитории.

Git — Удалить Все Коммиты — Очистить Историю в Git (Local & Remote)

В этой статье я показываю, как удалив все коммиты очистить историю в Git. Это может понадобиться, если вы захотите удалить конфиденциальные данные из истории коммитов в Git. После такой очистки у вас будет последняя версия вашего Git-репозитория, но только с одним коммитом. Имейте в виду, что после удаления коммитов, вся история изменений Git-репозитория будет также […]

Git — Настройка Username & Password — Хранение Учетных Данных

Для подключения к Git-репозиторию с аутентификацией по HTTP(S) каждый раз необходимо вводить имя пользователя и пароль. Вы можете настроить запоминание Git’ом имени пользователя и пароля указав их в URL репозитория, либо используя credential.helper. В этой статье я покажу, как клонировать Git-репозиторий, задавая имя пользователя и пароль в URL репозитория, как сохранить имя пользователя и пароль […]

Git — Создать Новую Ветку

Вместо того чтобы делать коммит непосредственно в локальной master-ветке, хороший разработчик начиная работать над новой фичей или багом, каждый раз создает новую ветку. Для создания новой ветки используется команда git branch. Ниже я приведу примеры того, как создать новую ветку в Git из другой ветки (например из текущей ветки, master, develop и т.п.), как создать […]

Git — Squash Commits: Объединение Всех Коммитов Ветки В Один

Каждый раз, работая над каким-то багом или новым функционалом, мы создаем отдельную ветку. Обычно, в таких ветках делают множество коммитов, особо не уделяя много внимания написанию хороших комментариев, и просто комментируя изменения чем-то вроде «work in progress» или просто «WIP». Перед тем, как сделать merge такой ветки в мастер, рекомендуется объединить все коммиты в один […]

Git — Переход (checkout) в Предыдущую Ветку

Работая с Git, приходится очень часто перемещаться между двумя ветками. Для перемещения в предыдущую ветку нет необходимости каждый раз вводить ее имя. В этой короткой заметке я покажу простой способ переключения между двумя ветками в Git.

Git — Сравнение Веток

Когда вы работаете с несколькими ветками в Git, важно иметь возможность их сравнивать и сопоставлять различия. В этой короткой заметке я покажу, как сравнить две ветки в Git с помощью команды git diff. Я покажу, как сделать git diff между двумя ветками, например текущей веткой и master или git diff между master и staging, а […]

Git — Diff Staged и Unstaged Файлов

Во время работы с Git часто требуется узнать какие изменения произошли между различными областями. Наверное каждый знает команду git diff, которая показывает изменения между Working Directory и Staging Area (git diff unstaged). Но также часто возникает необходимость просмотреть различия между Staging Area и HEAD (git diff staged) или между Working Directory и HEAD (git diff […]