Pull to refresh

Comments 21

Более 11 лет в консоли с git. Признаю, что в статье есть возможно кому-то полезные "улучшалки" и "удобнялки". Интересно, сколько реально процентов аудитории git готовы на них перейти "сегодня".

Но, все 11 лет мне потребовались всего 4 настройки для каждого нового репозитория:

git config --global user.name "Иванов Иван"
git config --global user.email ivan@example.com
git config --global color.ui true
git config --global core.editor mcedit

Ну, кому то и дебагер не нужен, принты есть, it depends

Я лично алиасами пользуюсь!! Очень крутая штука

Неужели это картинка текста.

Аналогично, для самых популярных команд завел алиасы, недавно описал ещё себе в github, чтобы переносить между рабочими и домашними машинами.

Вместо `git checkout master` ввожу `git cm`, вот и вся магия. Возможно, стоит заменить на switch, но и так работает.

Наверное стоит доработать до полного конфига, чтобы и другие настройки тоже переносить.

Э-э-э-э… А подписывать коммиты?

git config --global gpg.format ssh
git config --global commit.gpgsign true
git config --global user.signingkey XXXXXXXXXXXXXXXX

Ловите мейнтейнера.

Чё ловить-то сразу, нормально же общались, ну.

Для каждого нового репозитория ведь `--global` не нужен...?

--global — это для всех репозиториев. Для каждого нового можно переписать глобалы теми же командами без ключа --global.

Ну да.

Но, все 11 лет мне потребовались всего 4 настройки для каждого нового репозитория

Я на это отвечаю.

Уточню, "для каждого нового сервера, где сотрудник работает над проектами". В таком случае --global в самый раз.

Обычно делал минимальные настройки git, и вперёд - делать что то полезное. Определённо, сегодня жизнь моя станет лучше! Спасибо за перевод полезной статьи.

С недавних пор ключ pull.rebase является обязательным. Раньше, при его отсутствии, подразумевалось значение по умолчанию — false. Сейчас его приходится прописывать явно. Гит сам вас попросит это сделать при первой же попытке подгрузить другую ветку через pull.

Я бы добавил ещё разрешение длинных имён файлов + отключение верификации ssl, если используется самоподписанный сертификат

мелочь конечно, но я бы добавил ещё формат даты в git log более простой (потому что то что идёт по умолчанию читается если честно не очень легко), плюс добавил бы алиас на git log чтобы он в виде графа выводился - визуально гораздо легче и приятнее читать историю)

плюс добавил бы алиас на git log чтобы он в виде графа выводился - визуально гораздо легче и приятнее читать историю)

Это, правда, не совсем история конкретного коммита, но

[alias]
        grog = log --graph --abbrev-commit --decorate --all --format=format:\"%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(dim white) - %an%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n %C(white)%s%C(reset)\"


Уже довольно долго использую такой формат

[format]
	pretty = format:%C(cyan bold)%H%C(reset) %ci %C(italic)(%cr)%C(reset) %C(blue)%cn%C(reset) %C(auto,bold)%G?(%GT)%C(reset) %C(green)%s%C(magenta)%d%C(reset) %C(red)(%an)%C(reset) %C(yellow)[%p]%C(reset)

Выглядит вот так

Возможно, стоит уменьшить вывод, например заменив %H на %h или убрав относительное время
Возможно, стоит уменьшить вывод, например заменив %H на %h или убрав относительное время

В логе мне важно, чтобы соблюдалось правило "1 строка = 1 запись", благодаря чему проще grep'ать/awk'ать

Как-то мне глобальный gitignore очень не здоровая тема. Gitignore должен быть одинаков у всех участников балагана работы иначе могут возникать очень странные коллизии при совместной работе.

Один на маке, второй на идее, третий на vscode, четвертый на виме со своим lsp — и все гадят в папку проекта разными способами.

Sign up to leave a comment.

Articles