================================================================================
# GIT - Настройки конфигурации
================================================================================
# Мануалы по настройке:
https://learn.javascript.ru/screencast/git#config-editor
--------------------------------------------------------------------------------
# версия Git (должна быть 2+)
git version или git --version -
# Список уровней конфигурации (в порядке увеличения приоритета)
--system - на уровне операционной системы (в каталоге с установленным Git)
--global - на глобальном уровне (в домашней дирректории пользователя: ~/.config)
--local - на уровне текущего проекта (в текущем каталоге проекта: <project>/.git/config)
# Добавление своих файлов конфигураций
# https://learn.javascript.ru/screencast/git#config-include
# конфиг на одном уровне с проектом (не попадет в git)
git config --add include.path ../gitconfig
--------------------------------------------------------------------------------
# Просмотр конфигурации
git config --list - Просмотр параметров из всех конфигов
git config --list --global - Просмотр глобальных параметров
cat ~/.config - Просмотр глобальных параметров в домашней дирректории
git config --global -e - Открыть в редакторе глобальный config файл
# Лакальные настройки (для проекта)
git config user.name "igorcomputer"
git config user.email "igorcomputer@mail.ru"
# Глобальные
git config --global user.name "igorcomputer"
git config --global user.email "igorcomputer@mail.ru"
# Очистка конфигурационных данных пользователя
git config --unset user.name - лакально
git config --unset user.email - лакально
git config --remove-section user - лакально (очистка секции юзер)
# Настройки редактора по умолчанию
git config --global core.editor - Просмотр информации о редакторе
--------------------------------------------------------------------------------
# Скрыть от GIT служебные файлы окружения, например создаваемые IDE ".idea"
https://habr.com/ru/post/202696/
# нужно создать файл ".gitexcludes"
cd ~ - переходим домашнюю дирректорию
>.gitexcludes - создаем файл
vim .gitexcludes - открываем файл в редакторе
- записываем имена файлов и расширения, которые хотим скрыть
# Переходим в рабочий каталог с GIT и устанавливаем конфиг
git config --global core.excludesfile ~/.gitexcludes
git status - не должен показывать наши служебные файлы (например, .idea)
--------------------------------------------------------------------------------
# Настройка Алиасов (псевдонимов) для команд GIT
git config --list - Просмотр списка алиасов
git config --global alias.c 'config --global' - Установка нового алисаса "c"
# Установка последовательности команд (используется знак "!" и перечисление через ";")
git config alias.hello '!echo "Hello World"; echo "from Git"';
# Список аллиасов для оболочки ZSH (для линукс-систем)
https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/git.plugin.zsh
--------------------------------------------------------------------------------
# Добавление симлинка "subl" чтобы запускать "Sublime Text" из терминала (Для Mac OS)
$ ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
$ subl . - Открыть в Sublime Text текущее местоположение
--------------------------------------------------------------------------------
# Проверим настройки и установленные симлинки
$ cd /usr/local/bin - Переход в каталог программ, которые может запустить пользователь
$ ls -la - Просмотр всех симлинков в MAC OS:
--------------------------------------------------------------------------------
# Настройка GIT для работы с другими редакторами
https://help.github.com/en/articles/associating-text-editors-with-git
--------------------------------------------------------------------------------
# Настройка core.autocrlf для нормализации переводов строк
# https://learn.javascript.ru/screencast/git#config-autocrlf-2
git config core.autocrlf
- true # CRLF->LF (отправка в GIT), LF->CRLF (получение из GIT)
(для совместной работы windows и Unix)
- input # CRLF->LF (отправка в GIT), (получение из GIT без преобразования)
1) для работы под Unix
2) для работы под Windows в окружении Unix, но редактор должен быть настроен для LF
- false # Ничего не делать (если работа только в Unix системах)
--------------------------------------------------------------------------------
# Файл .gitattributes - Настройка атрибутов файлов
# указывает какие файлы текстовые, обеспечивает правильную конвертацию переводов строк
# https://learn.javascript.ru/screencast/git#config-gitattributes-text-eol
<project>/.gitattributes - размещается на одном уровне с каталогом .git
Где Git ищет атрибуты:
1) <project>/.git/info/attributes - не пересылается другим разработчикам (можно проставить свои настройки)
2) В тоже же папке где находится целевой файл
3) Уровнем выше, относительно целевого файла и т/д
4) <project>/.gitattributes - в корневом каталоге проекта
5) config: core.attributesFile - по пути согласно настройкам конфигурации
git config --global core.attributesFile ~/.gitattribues (если прописать такую настройку)
6) (default) $XDG_CONFIG_HOME/git/attributes
7) (default) ~/.config/git/attributes
8) /etc/gitattributes (для unix)
C:\Program Files\Git\etc\gitattributes (для Windows - в дирректории установки GIT)
git help attributes - Полная справка об аттрибутах
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------