Используете ли вы Git в CLI или GUI? В начале своей карьеры я активно пользовался графическим интерфейсом и до сих пор выполняю некоторые быстрые операции с использованием VSCode, PhpStorm или Fork. В предыдущей компании я был вынужден использовать GitKraken, поскольку он помогал разработчикам не допускать ошибок Git. GitKraken — отличный продукт, и использование инструментов с графическим интерфейсом определенно помогло мне более комфортно использовать Git и изучить различные команды. Это действительно помогает вам визуализировать изменения, вносимые в ваш репозиторий.

Однако по мере того, как вы начнете продвигаться по карьерной лестнице, вы можете обнаружить, что все больше тяготеете к терминалу, чтобы быстро выполнить git pull, git push или git commit. Или, может быть, вы уже являетесь опытным пользователем Git и выполняете всю свою работу в CLI.

Использование псевдонимов Git в CLI может сделать вашу работу еще более эффективной. Вот тут-то и появляется Oh My Zsh. Oh My Zsh — это платформа для управления вашей конфигурацией Zsh. Zsh — это оболочка, похожая на Bash, но с некоторыми приятными дополнительными функциями. Вы можете перемещаться по каталогам, не вводя cd. Он предлагает исправление орфографии, плагины, темы и т. д. Одна из моих любимых функций — поиск предыдущей команды. Я могу начать вводить команду, а затем нажать вверх, чтобы просмотреть предыдущие команды, которые я использовал, начиная с уже набранного текста. Если вы используете Mac, скорее всего, Zsh у вас уже установлен и работает по умолчанию. В противном случае вы можете обратиться к документации Oh My Zsh, чтобы установить его.

После запуска Zsh следующим шагом будет установка Oh My Zsh. Это можно сделать с помощью простой команды curl или wget:

sh -c “$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

После установки вам нужно будет отредактировать файл .zshrc, найти массив plugins и убедиться, что git добавлен. Это должно выглядеть примерно так:

plugins=(
  git
)

Как только это будет готово, создайте исходный файл .zshrc или просто перезапустите терминал.

Теперь у нас есть масса псевдонимов для распространенных команд Git.

Вот некоторые из моих любимых:

Обязательства

gcmsg ‘Commit messsage’ # Equivalent to git commit -m ‘Commit message’

Изменить все файлы на предыдущую фиксацию

Иногда я добавляю коммит и понимаю, что забыл изменить файл, поэтому вношу изменение, а затем хочу внести изменения в предыдущий коммит.

gcan! # Equivalent to git commit — verbose — all — no-edit — amend

В разработке

При этом создается фиксация с сообщением --wip-- [skip ci] со всеми вашими измененными в данный момент файлами.

gwip

Толкать и тянуть

gl # Equivalent to git pull

gp # Equivalent to git push

Принудительная отправка Git с арендой

Всегда нужно быть осторожным, толкая ветку с силой. Один из лучших вариантов — принудительное использование аренды. Это означает, что принудительное нажатие не удастся, если кто-то еще добавил дополнительные коммиты в удаленную ветку.

ggfl # Equivalent to git push — force-with-lease

Филиалы

Псевдонимы для создания и извлечения ветвей — одни из самых часто используемых.

gcb my-new-branch # Equivalent to git checkout -b my-new-branch

gco — # Equivalent to git checkout — which checks out the previous branch

gcm # Equivalent to git checkout main

Перебазирование

Я обычно использую git rebase довольно часто. Использование графического пользовательского интерфейса определенно помогло мне понять, что он делает. Я использую git rebase для добавления своих коммитов в другую ветку. Я также использую git rebase -- interactive HEAD~3 для изменения порядка и изменения коммитов, в данном случае HEAD~3 относится к трем последним коммитам.

grb {branch} # Equivalent to git rebase {branch}

grbi HEAD~3 # Equivalent to git rebase — interactive HEAD~3

Различия и журнал

gd # Equivalent to git diff

Журнал Git

Когда я хочу быстро увидеть однострочную версию всех предыдущих коммитов, я использую псевдоним glog.

glog # Equivalent to git log — oneline — decorate — graph

Полный список псевдонимов, доступных в плагине, можно посмотреть нажмите здесь.

Если вы используете другую оболочку, например bash или fsh, могут быть доступны похожие плагины, но если нет, вы все равно можете легко создать свои собственные псевдонимы в своем файле конфигурации, например .bashrc. Или, может быть, есть общие команды Git (или команды CLI в целом), которые вы используете достаточно часто, чтобы гарантировать псевдоним.

alias gc=’git commit -m’

Спасибо за прочтение! Я надеюсь, что это поможет вам улучшить свои навыки работы с Git CLI. Дайте мне знать, если вы используете какие-либо другие распространенные псевдонимы Git, взятые из плагина или созданные вами собственные псевдонимы.

Спасибо, что дочитали до конца. Пожалуйста, подумайте о том, чтобы подписаться на автора и эту публикацию. Посетите Stackademic, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.