Пять рабочих процессов Git, облегчающих работу разработчиков ⛑️🤹🏼

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

В этой статье мы рассмотрим пять трюков с git, которые облегчат вам создание программного обеспечения.

Вот трюки, которые мы рассмотрим в этой статье:

  1. Быстрая настройка учетных данных Git SSH с помощью GitHub CLI
  2. Создайте новую ветку и отслеживайте ее с помощью remote
  3. Быстрое тестирование изменений в разных ветках с помощью stash
  4. Разделить одну большую ветку на несколько
  5. Удаление ветки из remote

Быстрая настройка учетных данных Git SSH с помощью GitHub CLI

Первое, что вам нужно сделать, прежде чем пробовать эти трюки, это настроить git и его учетные данные.

Если вы уже настраивали git с помощью учетных данных ssh, то вы наверняка знаете, насколько громоздким может быть весь процесс, для тех, кто не знает, вот очень краткий обзор:

  • Настройте ваш .gitconfig с именем пользователя и почтой
  • Сгенерируйте новый ssh-ключ
  • Добавить ssh-ключ в GitHub

Но подождите, есть более разумный (и надежный) способ настройки git с помощью учетных данных GitHub.
Все, что вам нужно, — это установленный в вашей системе GitHub CLI.

После этого все просто:

gh auth login
Войти в полноэкранный режим Выйти из полноэкранного режима

Это сделает все вышеупомянутые шаги и даже больше.

Создайте новую ветку и отслеживайте ее с помощью remote

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

Но подождите, как все это сделать?

  • Во-первых, вы создаете ветку в локальном
git checkout -b <branch> # old way
git switch -c <branch> # new way
Войдите в полноэкранный режим Выйти из полноэкранного режима
  • Затем отслеживаем эту ветку с помощью удаленного
git push -u origin <branch>
Войти в полноэкранный режим Выйти из полноэкранного режима

Это переместит ветку в remote, и она будет доступна для всех желающих.

Если вы используете git 2.37 или выше, вы можете просто использовать git push, чтобы сделать то же самое, просто добавьте этот конфиг.

git config --global --add --bool push.autoSetupRemote true
Войти в полноэкранный режим Выход из полноэкранного режима

Быстрое тестирование изменений в разных ветках с помощью stash

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

Как это сделать?

  • Вот один из способов быстро сделать это с помощью stash:
# Stash your current changes
git stash push
# Or if you have multiple stashes
git stash push -m "configs" # Saves stash with an identifier
Войдите в полноэкранный режим Выйдите из полноэкранного режима
  • Теперь вы можете переключиться на main и протестировать свои изменения
git switch main # Switch to the main branch
git stash apply # Applies most recent stashed changes without removal
# Or if you have multiple things in the stash
git stash list # Get all stashes with index
git stash apply stash@{<index>} # Apply stash at <index>
Войти в полноэкранный режим Выйти из полноэкранного режима
  • После завершения изменений переключитесь на предыдущую ветку и продолжите работу
git switch - # Switch to the previous branch
git stash pop # Applies changes and removes the most recent stash
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь вы можете фиксировать свои изменения и отправлять их на удаленное использование, не беспокоясь о ветке main.

Разделение одной большой ветки на несколько

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

Вот как это можно сделать:

  • Определите хэш коммита, с которого вы хотите разделить новую ветку, используя git log, вы также можете использовать следующую команду для получения более красивых логов.
git log --oneline --decorate --graph
Войти в полноэкранный режим Выйдите из полноэкранного режима
  • Создайте новую ветвь, но пока не отписывайтесь, new-branch должен указывать на HEAD вашей текущей ветви.
git branch <new-branch>
Войдите в полноэкранный режим Выйти из полноэкранного режима
  • Жесткий сброс текущей ветви на фиксацию разделения
git reset --hard <commit-hash>
Войти в полноэкранный режим Выйти из полноэкранного режима
  • Принудительный push обновлённой головки текущей ветки на удалённую
git push --force-with-lease
Войти в полноэкранный режим Выйти из полноэкранного режима
  • Переключитесь на новый филиал и добавьте его к удаленному
git switch <new-branch>
git push -u origin <new-branch>
Войти в полноэкранный режим Выйти из полноэкранного режима

Вы закончили!

Чтобы создать несколько ответвлений, используйте git rebase --onto для соединения ветвей.

Удаление ветви из удаленного файла

Что если одна из веток больше не нужна или если вы допустили опечатку при создании ветки.

Вы определенно захотите удалить ветку с удаленного сервера, верно?

Вот как вы можете это сделать:

  • Удалить ветку из локальной
git branch -d <branch>
git branch -D <branch> #Force delete
Войдите в полноэкранный режим Выйти из полноэкранного режима
  • Удалить ветку с удаленного
git push origin :<branch>
Войти в полноэкранный режим Выйти из полноэкранного режима

Это удалит ветку из локальной и удаленной.

Бонус: Используйте псевдонимы git, чтобы облегчить себе жизнь

Хорошо! Вы добрались до конца этой статьи и уже познакомились с большим количеством команд git.

Но как все это запомнить? Легко!

Вы можете использовать псевдонимы git, чтобы облегчить себе жизнь.
Вы можете добавить эти псевдонимы в свой файл .gitconfig.

[alias]
    a = add
    c = commit
    l = pull
    p = push
    co = checkout
    br = branch
    st = stash
    sw = switch
Войти в полноэкранный режим Выйти из полноэкранного режима

Или вы можете использовать следующие команды для добавления этих псевдонимов в ваш текущий файл конфигурации оболочки (~/.bashrc, ~/.zshrc и т.д.):

alias g='git'
alias ga='git add'
alias gc='git commit -m'
alias gl='git pull'
alias gp='git push'
alias gco='git checkout'
alias gbr='git branch'
alias gst='git stash'
alias gsw='git switch'
Войти в полноэкранный режим Выход из полноэкранного режима

Добавьте столько псевдонимов, сколько захотите, — экономия нескольких нажатий клавиш значительно облегчит вам жизнь в долгосрочной перспективе.

Что еще можно изучить

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

В будущем мы расскажем о других командах и трюках.

Оцените статью
devanswers.ru
Добавить комментарий