10 советов, чтобы сэкономить время с Git

10 советов, чтобы сэкономить время с Git

Coding

Мы рассмотрим проверку, удаление и приведение в порядок с Git. Мы также рассмотрим способы выхода из Vim и экономии времени с помощью псевдонимов Bash и настройки редактора Git.

Вот 10 команд, которые нужно знать.

Каждая команда ссылается на руководство по Atlassian Bitbucket для этой команды.


Проверять вещи

  • git diff— Посмотреть все изменения файла локально. Имя файла может быть добавлено, чтобы показать изменения только для одного файла.
  • git log — Посмотреть всю историю коммитов. Может также использоваться для файла с git log -p my_file. Введите q, чтобы выйти.
  • git blame my_file— Посмотрите, кто что изменил и когда в my_file.
  • git reflog —Показать журнал изменений в заголовке локального репозитория. Хорошо для поиска потерянной работы.

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


Отмена вещей

git reset, git checkout, и git revert используются для отмены последствий изменений в вашем хранилище.

Если вы просто имеете дело с вашими локальными коммитами, которые не были объединены в совместную удаленную работу, вы можете использовать любую из этих команд.

Если вы работаете совместно и вам нужно нейтрализовать коммит в удаленной ветке, git revert - ваш инструмент.

Каждая из этих команд может принимать различные варианты. Вот общее использование:

  • git reset --hard HEAD— Отменить поэтапные и неустановленные изменения с момента последней фиксации.

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

--hard указывает, что как поэтапные, так и не поэтапные изменения отбрасываются.

Убедитесь, что вы не отменяете коммит из удаленной ветки, от которого зависят ваши соавторы!

HEAD часто используется для my_commit, чтобы отменить изменения в вашем локальном рабочем каталоге, начиная с самого последнего коммита.

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

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

  • git revert my_commit — Отменить эффекты изменений в my_commit.
    revert делает новый коммит, когда отменяет изменения.

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

Иногда вы просто хотите удалить неотслеживаемые файлы в вашем локальном каталоге. Например, возможно, вы запустили какой-то код, который создал множество файлов разных типов, которые вам не нужны в вашем хранилище.

  • git clean -n — Удалите неотслеживаемые файлы в локальном рабочем каталоге.

Флаг -n предназначен для пробного запуска, при котором ничего не удаляется.

Используйте флаг -f для фактического удаления файлов.

Используйте флаг -d для удаления неотслеживаемых каталогов.

По умолчанию файлы, не отслеживаемые .gitignore, не будут удалены, но это поведение можно изменить.

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


Уборка вещей

git commit --amend —  Добавьте ваши поэтапные изменения в самый последний коммит.

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

  • git push my_remote --tags — Отправьте все локальные теги на удаленный репозиторий. Хорошо для изменения версий.
Если вы используете Python и вносите изменения в созданный вами пакет, bump2version автоматически создаст для вас теги. После того, как вы нажали свои теги, вы можете использовать их в своих выпусках.

Помогите, я застрял в Vim и не могу выйти!

С Git вы можете иногда оказаться в сеансе редактора Vim. Например, скажем, вы пытались зафиксировать без сообщения фиксации - Vim откроется автоматически.

Вот ваш четырехшаговый план выхода из Vim с сохраненным файлом:

Нажмитеi, чтобы войти в режим вставки.

Введите ваше сообщение о коммите в первой строке.

Нажмите клавишу выхода - Esc.

Введите :x.

Ура,теперь Добби свободен


Изменить редактор

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

Вот команда, чтобы изменить значение по умолчанию для редактора, который я использую, Atom:

git config --global core.editor "atom --wait"

Предполагая, что у вас установлен Atom, теперь вы можете решать внутри него проблемы с Git.


Создать ярлыки для Git команд

Добавьте ярлыки для Git команд, добавив следующие псевдонимы в ваш файл .bash_profile.

alias gs='git status '
alias ga='git add '
alias gaa='git add -A '
alias gb='git branch '
alias gc='git commit '
alias gcm='git commit -m '
alias go='git checkout '

Вы можете настроить ярлыки для любых Git команд, которые вам нравятся.

Если у вас нет файла .bash_profile, вы можете создать его на macOS с помощью следующего:

touch ~/.bash_profile

А затем откройте его с помощью:

open ~/.bash_profile

Смотрите больше информации о .bash_profile здесь.

Теперь, когда вы набираете gs в своем терминале, это то же самое, что набирать git status. Обратите внимание, что вы можете ввести другие флаги в вашем терминале после ярлыка.


Заметили ошибку или есть вопросы?Рассказывай нам о них,связаться с нами ты сможешь с помощью нашего чата или же с помощью бота обратной связь


Не забывайте ставить 👍 если вам понравилась и подписаться на канал,а так же посетить наш чат.

Report Page