Переходите на Git GUI, узнавайте больше о Git и забудьте о случайных отправках в master

Если вы разработчик, то, должно быть, уже пользуетесь Git. Если нет, то, надеюсь, используете другой инструмент для контроля версий!

При работе с Git обычно пользуются CLI или GUI, в который заворачивается весь нужный функционал. Тут стоит добавить: пользоваться хорошим GUI в разы лучше.

О, мои глаза…

Первый плюс GUI заключается в том, что вы получаете Graphical User Interface — настоящий графический интерфейс, созданный специально для вас. Разработчики написали GUI, чтобы облегчить жизнь других разработчиков. С этим не поспоришь. Как только вы приловчитесь работать с GUI, то сможете по-новому взглянуть на свою базу кода.

Поэтому мне бы хотелось познакомить вас с моим любимым Git GUI — GitKraken:

Если вы уже не первый день работаете с Git, то, надеюсь, этот GUI станет усладой для ваших глаз. С ним вы сможете просмотреть все коммиты из базы кода, удаленные ветки, слияния и теги.

И сделано это очень красиво. С таким представлением видны любые изменения, в т.ч. критические (например, в ветке master).

Возможность быстро увидеть все изменения в коде сильно повлияла на эффективность моей работы. Так сложилось, что в нашей компании все слияния с master выделялись в виде новой сборки. И вдруг мы перестали получать эти сборки. Вместо этого, тестировщик запостил изменения в публичном канале. Я смог перейти к последнему тегу с нашей рабочей сборкой, а затем очень быстро прошелся по всем коммитам — строчка за строчкой. Очень важно было найти критическое изменение. Я открыл pull request, быстро все исправил и заслужил свои пять минут славы. Но все это было заслугой GitKraken!

Не шутите с командами

Кроме того, я не трачу время на написание названий веток и запоминание (или не запоминание!) Git-команд.

Еще один плюс GUI в том, что он более устойчив к ошибкам. Вам проще видеть, в какой ветке вы находитесь, и была ли она закоммичена. Тем самым снижается вероятность случайной отправки изменений в master! Я прекрасно знаю, как круто писать всякие команды в CLI. Но каждый раз при печати вы можете допустить ошибку или забыть, в какой ветке находитесь.

Узнайте больше об инструментах

К слову о Git, когда вы в последний раз открывали документацию или изучали что-то новое? Я — почти никогда. Хотя до сих пор учусь… но делаю это с помощью GitKraken. Например, вот что появится, если кликнуть правой кнопкой по коммиту:

Знаете ли вы, что означает каждая из этих опций? А вы вообще в курсе, что Git все это умеет? Git — это крайне мощный инструмент с гигантской областью применения. Но при работе в CLI вы ограничиваетесь лишь парочкой нужных команд (commit, push, branch), забывая об остальных возможностях Git.

Быть может, тонкости Git вам не до конца понятны?

Чем отличаются эти четыре опции?

В UI доступны разные способы для получения кода с удаленного репозитория. Вы можете запросто погуглить отдельные типы отправок изменений (pull). Я и сам не знал, что такие типы существуют! Если вам интересно, почитайте документацию.

Узнав, на что действительно способен Git, я научился переносить коммиты в другие ветки (cherry-pick), создавать ветки demo, проводить слияния веток и вообще работать без опасений все испортить.

Долой стереотипы

Надеюсь, вам самим захотелось поработать с GUI. Если вы дочитали до этого места, то, скорее всего, уже готовы попробовать. Однако для большинства разработчиков момент еще не настал. Почему-то у таких людей существует некий блок, мешающий им перейти на Git GUI. Например, стереотипы о том, что это не «круто». Все мы хотим чувствовать себя этакими мега-крутыми хакерами. Ведь это — одна из причин, почему мы вообще связали свою жизнь с программированием.

Однако не стоит загонять себя в строгие рамки. В конце концов, вы же не будете писать все на древнем языке программирования только в силу привычки. Хорошие инженеры так не поступают!

Еще мне кажется, что люди смотрят на GUI свысока, видя в нем «танцы с бубном». Профи работают с CLI. Ну, профессионалы не допускают ошибок. И это, пожалуй, самый главный плюс GUI.

Рискну даже сказать, что освоить Git на приличном уровне — в разы важнее, чем выучить новый язык программирования. Все-таки управление исходным кодом — это навык, который используется во всей разработке, вне зависимости от языка.

Не поддавайтесь влиянию общественности и не загоняйте себя в рамки. Пользоваться GUI — это нормально. Пользоваться CLI — это тоже нормально. Просто признайте, что вам нравится CLI, потому что писать команды в разы веселее.

Читайте также:


Перевод статьи Steven Popovich: Stop Using the Git CLI

Предыдущая статьяОсновы программирования UDP-сокетов на Java
Следующая статья5 любопытных библиотек Python