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