img

git config – как настроить параметры Git так, чтобы оптимизировать процесс разработки

git config - это мощная команда Git. Вы можете использовать файл конфигурации Git для того, чтобы подстроить Git под себя.

Этот файл находится на уровне проекта, в котором был запущен Git (/project/.git/config), или на корневом уровне (~/.gitconfig). Если в нем не указаны никакие конфигурации, то это значит, что Git использует настройки по умолчанию.

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

Советы по конфигурациям Git

Ниже представлены несколько масштабных советов по конфигурациям Git. 

1. Выберите для Git редактор по умолчанию

Когда вы пытаетесь сделать коммит в Git, то он по умолчанию открывает редактор vi, который выглядит вот так:

image-18

Этот редактор может оказаться не таким простым, и если вы хоть чем-то похожи на меня, то будете использовать тот редактор для написания коммитов, который вам больше нравится. В файле ~/.gitconfig вам нужно добавить следующее:

[core]
    editor = code --wait

или вы можете воспользоваться командой оболочки:

git config --global core.editor "code --wait"

Эта конфигурация указывает Git, что для операций по типу коммитов и тегов мы будем использовать свой редактор VSCode.

Что касается других редакторов, вам поможет следующая таблица:

image-19

Конфигурация редактора для Git

2. Очистка Git в процессе выборки

Знаете ли вы что делает команда очистки в процессе выборки?

Если кратко, то очистка в процессе выборки – это метод очистки, который, когда вы выполняете команду git fetch --prune, удаляет все устаревшие и давно ненужные ссылки в вашем каталоге .git.

Автоматизировать этот процесс можно не только с помощью параметра --prune, но и путем добавления в ~/.gitconfig следующих строк:

[fetch]
    prune = true

или с помощью следующей команды:

git config --global fetch.prune true

При этом очистка будет производиться каждый раз, когда вы будете выполнять команду git fetch.

3. Псевдонимы Git

В файле конфигурации Git вы можете добавить псевдонимы для некоторых длинных команд, которые вы используете регулярно. Например, для коммитов, тайников и т.д.

Предположим, что вы хотите создать псевдоним для добавления пустого коммита. В таком случае вам нужно добавить в файл конфигурации следующее:

[alias]
    empty = "git commit --allow-empty"

или ввести в терминале следующую команду:

git config --global alias.empty "git commit --allow-empty"

И вы сможете использовать команду вот таким образом:

git empty "Empty commit"

Кроме того, вы можете добавить псевдонимы для команд, которые используются вне Git. Например, вот так можно создать псевдоним, который удаляет локальные ветки, которые перешли в разряд удаленных:

[alias]
    delete-local-merged = "!git fetch && git branch --merged | egrep -v 'master' | xargs git branch -d"

Восклицательный знак «!» указывает на то, что Git должен запустить эту команду как команду оболочки, а не как команду git *.

Команду git fetch мы используем для псевдонима. После чего мы получаем объединенные ветки, передаем их команде egrep в качестве входных данных, фильтруем ветку main и удаляем ветки.

4. Настройка ветки по умолчанию

Когда вы инициализируете репозитрий (git init), веткой по умолчанию является ветка master. На сегодняшний день многие разработчики предпочитают, чтобы на этом месте была ветка main или какая-то другая.

При этом вам не нужно создавать новую ветку с именем main, удалять ветку master и использовать main как ветку по умолчанию. Это слишком долго. В файле конфигурации вы можете записать следующее и при инициализации Git установить, таким образом, ветку по умолчанию.

[init]
    defaultBranch = main (или любое другое имя, которое вы хотите)

В таком случае команда git init сделает так, что веткой по умолчанию будет ветка main.

5. Демонстрация краткого статуса по умолчанию

По умолчанию команда git status демонстрирует вам подробно описанные изменения в вашем проекте. А именно вот в таком формате:

On branch [branch name]
Your branch is up to date with ...

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in the working directory)
    modified: ...
    
Untracked files:
  (use "git add <file>..." to include in what will be committed)
    ...
    
no changes added to commit (use "git add" and/or "git commit -a")

Это довольно полезно, но иногда вам требуется лишь краткий отчет о состоянии репозитория. В этом вам поможет флаг --short, который необходимо добавить к команде git status. Результат выполнения такой команды будет следующий:

M [file]
?? [file]

«M» означает «modified», то есть «измененный», а «??» - неотслеживаемый. Мы можем сделать еще лучше, установив такой формат вывода как вывод по умолчанию. Для этого необходимо установить следующую конфигурацию:

[status]
    short = true

Заключение

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

Ссылка
скопирована
Программирование
Скидка 25%
Python Advanced. Продвинутый курс
Освойте асинхронное и метапрограммирование, изучите аннотацию типов и напишите собственное приложение на FastAPI. Улучшите свои навыки Python, чтобы совершить быстрый рост вашего грейда до уровня middle.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
  Хотите разрабатывать игры на Python? Здесь представлен полный обзор лучших библиотек и фреймворков Python, которые вы можете и
img
Если вы хорошо знаете, что такое глубокое обучение, что, скорее всего, не раз слышали такую фразу: «PyTorch против TensorFlow».
img
  Введение Что такое стек и куча? И то, и то область памяти, но с разными механизмами распределения и управления ресурсами памят
img
  Если вы уже давно работаете с SEO, то, возможно, сталкивались с одной из концепций рендеринга - рендеринга на стороне сервера
img
Введение За счет ветвления в Git разработчики могут работать сразу над несколькими функциями или изменениями, не мешая друг друг
img
Управление памятью в операционных системах Введение Управление памятью – это критически важная и при этом довольно сложная задач
Комментарии
ОСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59