Настройка и использование Git

Настройка и использование Git

В этой заметке я приведу параметры #Git, которые сам использую при работе с репозиториями.

Первичная настройка

Для начала работы с #Git’ом, его необходимо хотя бы минимально настроить.

  1. Указать своё имя:
git config --global user.name "John Doe"
  1. Указать свой адрес e-mail:
git config --global user.email "johndoe@example.com"

Настройка подписи

Хорошим тоном будет считаться подпись каждого своего commit’а.

  1. Выяснить какие ключи установлены в системе (о создании ключей я публиковал заметку GnuPG: Создание и работа с ключами шифрования):
gpg --list-secret-keys --keyid-format=long
  1. Указать #Git’у всегда подписывать каждый commit:
git config --global commit.gpgsign true
  1. Указать #Git’у идентификатор ключа для подписи commit’а:
git config --global user.signingkey 3AA5C34371567BD2

Хранилище паролей

#Git по умолчанию не сохраняет регистрационные данные для репозиториев. Эта настройка позволяет указать #Git’у использовать для хранения регистрационных данных текстовый файл ~/.git-credentials:

git config --global credential.helper store

Отмена изменений

Отмена конкретного commit’а:

git revert [commit]

Отмена 2-х commit’ов подряд:

git revert HEAD~2

Модули

Добавление модуля:

git submodule add https://github.com/[MODULE] [MODULE]

Рекурсивное обновление всех модулей:

git submodule update --recursive --remote --merge

Удаление модуля:

git submodule deinit -f [MODULE]  \
  && git rm -r --cached [MODULE]  \
  && rm -rf .git/modules/[MODULE] \
  && rm -rf [MODULE]

Изменение адреса репозитория

Показать текущий адрес:

git remote -v

Установить новый адрес:

git remote set-url origin '[URL]'

Изменение описания последнего commit’а

Если закралась ошибка в описании изменений кода при последнем commit’е, это описание можно изменить при помощи команды:

git commit --amend -m 'New commit message.'

Далее, изменённый коммит принудительно отправить на сервер:

git push --force '[remoteName]' '[branchName]'
git push --force 'origin' 'main'
Теги
Авторы
Мета
Лицензия
ID файла
UUID
Системный путь
Тип
Статистика
Количество слов
Время чтения
мин.