Основные команды Git

Инициализация и конфигурация


git init    # инициализировать репозиторий; создает скрытую папку .git
            
# Клонирование к текущей (.) папке
git clone ssh://git@gitlab.example.com/group/repository.git .

# Клонирование с уменьшением глубины --depth 5 или без всей истории --depth 1
git clone -- depth 5 -- no-single-branch --no-tags ssh://git@[...]/ repository.git .

    # -- depth 1                      # клонирование репо без всей истории
    # -- no-single-branch             # тянет все филиалы иначе только текущий
    # -- no-tags                      # без тегов
    # --filter=blob: limit= [kmg]  # разбивает большой файл blobs на n bytes.

    # Единицы: k, m, g или KiB, MiB, GiB например: blob: limit=1k - это то же самое, что blob: limit=1024
    # Проверьте самый большой файл PNG, JPG, WEBP и установите такой предел!

git config --list # отображает всю конфигурацию
    # Диапазоны:
    # -- system     # системная система, как правило, не использовать;
    # -- global     # глобальный для пользователя:~/.gitconfig
    # -- local      # локально для данного репо .git / config

git config -- global -- list                            # отображает глобальные настройки git
git config <ключ> <значение>                            # устанавливает конфигурацию для ключа
git config --global user.name 'Ivan Ivanov'             # глобально устанавливает имя владельца репо
git config --global user.email ivan.ivanov@gmail.com    # глобально устанавливает электронную почту владельца репо
git config push.followtags true                         # найстройка pusha, аннотированные теги будут отправлены автоматически
git config <ключ>                                       # отображает конфигурацию для ключа
git config --global user.name                           # отображение глобального пользователя
git config --unset <ключ>                               # очищает конфигурацию для указанного ключа
git config --local --unset user.email                   # удаляет локальную электронную почту

git config --edit                                       # редактирование локального файла конфигурации
git config --edit --global                              # редактирование глобального файла конфигурации
git config --edit --system                              # редактирование системного файла конфигурации
git config --edit --local                               # редактировать файл конфигурации для текущего репо

# Создание файла общей/версионной конфигурации для всех сотрудников
git config -- file .gitprjconfig <группа>.<ключ> <значение>
git config -- file .gitprjconfig push.followtags true

git config include.path ../.gitprjconfig # Настроит локальную конфигурацию .git / config отсюда ..
# Условное включение конфигурации из дополнительного файла
git config --global includeif.gitdir: / C / VHOST / project/.path .gitconfig.ролл

Журнал коммитов

git log                             # список коммитов
git log --oneline                   # стиль одной строки
git log -4 --oneline                # 4 последних коммита в одной строке
git log --graph --oneline           # log с нарисованными ветвями
git log --oneline > файл.txt        # перенаправление gitlog в файл
git log --oneline | grep -i sql     # поиск слова 'SQL' в одной строке (case insensitive)
git log | grep -i sql               # поиск слова 'SQL' в полной версии
git log --diff-filter=A --file      # поиск файла с фильтром: A_dded C_opied D_eleted M_odified R_enamed
git log -S "отличительная строка"   # отображает commity, которые изменяли количество вхождений характерной строки

Интересуетесь топовыми гаджетами и популярными технологическими новинками?
Подписывайтесь на телеграм канал @upkitai
Поделитесь с другими:

Если материал понравился Вам и оказался для Вас полезным, поделитесь им со своими друзьями!

Читать по теме
Интересные статьи