Я большой фанат коротких путей.
Алиасы, хаки, скрипты, автоматизация, обходные варианты… я люблю избыточную оптимизацию, поэтому неудивительно, что мне особенно нравится функциональность алиасов в Git — настолько, что это вдохновило меня ввести аналогичную функцию в проект Vagrant несколько лет назад.
Хотя мне удобно использовать Git в повседневной работе в качестве разработчика программного обеспечения, некоторые задачи более утомительны, чем другие, а некоторые просто хуже запоминаются, и именно здесь появляются алиасы. За эти годы я составил довольно обширный список алиасов, которыми пользуюсь, и вместо того, чтобы просто хранить их, я подумал, что пороюсь у себя в закромах и поделюсь своими пятью любимыми.
Примечание: если какой-либо из этих алиасов вас заинтересует, поместите соответствующие фрагменты кода в раздел [alias]
вашего .gitconfig
(обычно находится у вас в домашнем каталоге). Для получения более подробной информации о том, как использовать и устанавливать алиасы, я настоятельно рекомендую вам ознакомиться с документацией.
git undo
Не знаю, как часто я включал в коммит то, что не собирался, но это случается чаще, чем мне хотелось бы. Алиас git undo
, вероятно, используется у меня чаще всего, так как он буквально отменяет последний коммит и дает нечто вроде второго шанса, чтобы внести изменения, исключить из индекса файлы и исправить коммит, в котором я налажал.
В случае, если предыдущий алиас ни на что вам не намекнул, этот недвусмысленно даст понять: лажаю я в огромных масштабах. Хотя я часто чрезмерно перегружаю коммиты, я также склонен забывать о том, что нужно добавить файл в коммит. Это часто случается, когда я делаю коммит, а затем понимаю, что забыл создать новый файл или изменить его. Алиас git amend
позволяет мне добавлять любые поэтапные изменения в предыдущий коммит без необходимости обновлять сообщение о коммите.
При работе с командой, которая использует большое количество функциональных ветвей, часто бывает полезно посмотреть, как эти ветви объединяются. Алиас git tree позволяет мне видеть, что было объединено в текущую ветку и когда. Это может значительно облегчить получение более широкого представления о деятельности в рамках данного проекта.
Почти каждый проект, над которым я работаю, размещен на GitHub, поэтому алиас git review
особенно удобен. Он позволяет мне отследить пулл-реквест по идентификатору, а затем я могу уже пропустить его через огонь и воду и валидировать без необходимости дополнительно вставать на уши.
Довольно новый инструмент в моем наборе — алиас git trim
— это то, чем я пользуюсь, чтобы прибрать за собой. При запуске он получает список всех ветвей, которые были объединены в текущую ветвь, и удаляет их из локального репозитория. Это очень полезно при действии над большим количеством ветвей функций, так как вы можете очищать их по мере слияния без особых расходов.
Перевод статьи
Комментарии