17b0cdfbac
- Introduced `08-structure.md` detailing project structure, main files, and versioning. - Created `README.md` for documentation overview and quick start guide. - Added user-specific configurations for Alacritty, Vim, Micro, Git, Zsh, Tmux, and tools. - Implemented system modules for desktop environment (KDE Plasma), audio (PipeWire), networking, and services (OpenSSH, GnuPG). - Configured Nix settings with flakes support and garbage collection. - Established user management for `ada` with necessary groups and shell settings. - Enabled VirtualBox guest additions for improved VM experience.
4.0 KiB
4.0 KiB
Git конфигурация
Как настроить Git алиасы и конфигурацию.
Где Git конфиг?
Git конфигурация находится в:
home/ada/git.nix
Пользователь
programs.git = {
enable = true;
userName = "Dmitry";
userEmail = "ada.dmitry@gmail.com";
Изменить имя и email:
userName = "Твоё имя";
userEmail = "твой@email.com";
Добавить alias
Алиасы находятся в aliases:
aliases = {
# Базовые
st = "status";
co = "checkout";
br = "branch";
# Твой новый alias:
quick-commit = "commit -am";
};
Примеры полезных алиасов
# Быстрая работа с коммитами
cm = "commit -m";
amend = "commit --amend";
undo = "reset --soft HEAD^";
# Логи
lg = "log --graph --oneline --all";
recent = "log -10 --oneline";
# Ветки
new-branch = "checkout -b";
sync = "pull --rebase";
# Простые проверки
changed = "diff --name-only";
staged = "diff --cached";
Глобальный gitignore
Файлы которые всегда игнорируются:
ignores = [
".DS_Store" # macOS
"Thumbs.db" # Windows
".vscode/" # VS Code
".idea/" # IntelliJ
"*.swp" # Vim
# Добавить свой:
".myfile"
];
Цвета
Визуальная конфигурация разных элементов:
"color \"branch\"" = {
current = "yellow bold";
local = "green";
remote = "cyan";
};
"color \"diff\"" = {
meta = "yellow";
old = "red bold";
new = "green bold";
};
Можешь изменять цвета на свой вкус.
Основные настройки
extraConfig = {
# Ветка по умолчанию
init.defaultBranch = "main";
# Автоматический rebase при pull
pull.rebase = true;
# Редактор для коммитов
core.editor = "micro";
};
Проверка конфигурации
После изменений собери конфигурацию:
nh os switch
Проверить что применилось:
git config --list | grep user
git config user.name
git alias # Если есть такой alias
Использование алиасов
# Вместо:
git status
# Используешь:
g st # Если есть alias g = git
Работа с удалёнными репозиториями
Если нужны специальные алиасы для pull/push:
# В алиасах:
pom = "push origin main";
plm = "pull origin main";
Слияние веток
# Алиасы для слияния
merge-main = "merge main";
merge-dev = "merge develop";
Интерактивные операции
Хорошие алиасы для интерактивной работы:
interactive = "rebase -i";
fixup = "rebase -i --autosquash";
Проверка перед применением
# Посмотреть текущие алиасы
git config --get-regexp alias
# Проверить синтаксис после редактирования
nix flake check
Git UI
Если хочешь использовать интерактивный Git UI:
lazygit # Уже установлен в пакетах
Частые операции
Быстрый коммит
# Добавить алиас
quick = "commit -am";
git quick "commit message"
История файла
# Алиас
history = "log --oneline";
git history <file>
Визуальное дерево
# Уже есть
git lg # или git l
Если что-то сломалось
Вернуть конфиг по умолчанию:
# Отменить последние изменения
git checkout home/ada/git.nix
# Пересобрать
nh os switch