- PVSM.RU - https://www.pvsm.ru -

В этой статье мы обсудим разные Git-команды, которые могут оказаться полезными для разработчика или специалиста по Big Data. Вы узнаете, как проверять, удалять и приводить код в порядок. А еще рассмотрим способы выхода из Vim и экономию времени с помощью псевдонимов Bash и конфигурации редактора Git.
Skillbox рекомендует: Практический курс «Мобильный разработчик PRO» [1].
Напоминаем: для всех читателей «Хабра» — скидка 10 000 рублей при записи на любой курс Skillbox по промокоду «Хабр».

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

У каждой команды есть целый набор опций. Вот наиболее употребляемые:
git reset --hard HEAD [6] — отмена проиндексированных и непроиндексированных изменений с момента последнего коммита.
Указываем вместо HEAD определенный коммит, чтобы отменить изменения, произошедшие после него. --hard отбрасываются оба типа изменений, о которых говорилось выше.
Не забывайте убедиться в том, что вы не отменяете коммит из удаленной ветки, от которой зависят другие члены команды.
git checkout my_commit [7] — отмена изменений my_commit.
HEAD часто используется для my_commit, чтобы отменить изменения в вашем локальном рабочем каталоге с момента последней фиксации.
checkout лучше всего использовать для локальных отмен. В этом случае коммиты из удаленной ветки, от которой зависят ваши коллеги, не будут затронуты!
Если вы используете checkout с веткой вместо коммита, HEAD переключается на указанную ветвь, а рабочий каталог обновляется для соответствия изменениям. Это самое распространенное использование этой команды.
git revert my_commit [8] — отмена последствий изменений в my_commit. revert выполняет новый коммит после отмены изменений.
revert безопасен для общих проектов, поскольку команда не перезаписывает изменения, от которых могут зависеть другие ветки.

Иногда вы просто хотите удалить неотслеживаемые файлы в вашем локальном каталоге. К примеру, запустив какой-то код, который создал много разных типов файлов, которые вам не нужны. К сожалению. Clean поможет мгновенно удалить их!
git clean -n [9] — удаление неотслеживаемых файлов в локальной рабочей директории.
-n — флаг для пробного запуска, ничего не удаляется.
-f — флаг для удаления файлов.
-в — флаг для удаления неотслеживаемых директорий.
По умолчанию неотслеживаемые файлы .gitignore не будут удалены, но это можно изменить.

git commit --amend [10] — добавляем поэтапные изменения в последний коммит.
Если ничего не проиндексировано, команда позволяет вам редактировать последнее сообщение коммита. Используйте команду только в том случае, если коммит не был объединен с удаленной master-веткой.
git push my_remote --tags [11] — отправка локальных тэгов в удаленный репозиторий. Хороший вариант для присвоения версий изменениям.
Git в некоторых случаях открывает сессию редактора Vim. И если вы не слишком хорошо знакомы с ним, то можете оказаться в затруднительной ситуации. Да и не только вы — к примеру, на Stack Overflow более 4 тысяч пользователей хотят знать, как выбраться из Vim.

Вот четырехэтапный план, который поможет закрыть Vim и сохранить изменения:
Все, вы свободны!
Изменяем редактор по умолчанию.
Вы можете избавиться от Vim совсем, если смените редактор по умолчанию. Вот команды [12] для работы с популярными редакторами. Пример выбора другого редактора, в нашем случае Atom:
git config --global core.editor «atom --wait»
А вот способ, который позволяет добавлять ярлыки для 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 '
Больше информации о .bash_profile можно получить здесь [13].
Что касается способа, приведенного выше, то теперь вы можете использовать gs вместо git status.
Собственно, это все на сегодня. Если есть возможность, укажите в комментариях, какие Git-команды используете вы и почему.
Skillbox рекомендует:
- Двухлетний практический курс «Я — веб-разработчик PRO» [14].
- Онлайн-курс «С#-разработчик с 0» [15].
- Практический годовой курс «PHP-разработчик с 0 до PRO» [16].
.
Автор: fokus-lop
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/310274
Ссылки в тексте:
[1] «Мобильный разработчик PRO»: https://skillbox.ru/agima/?utm_source=skillbox.media&utm_medium=habr.com&utm_campaign=AGIMA&utm_content=articles&utm_term=gitcommands
[2] git diff: https://www.atlassian.com/git/tutorials/saving-changes/git-diff
[3] git log: https://www.atlassian.com/git/tutorials/git-log
[4] git blame my_file: https://www.atlassian.com/git/tutorials/inspecting-a-repository/git-blame
[5] git reflog: https://www.atlassian.com/git/tutorials/rewriting-history/git-reflog
[6] git reset --hard HEAD: https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting
[7] git checkout my_commit: https://www.atlassian.com/git/tutorials/undoing-changes
[8] git revert my_commit: https://www.atlassian.com/git/tutorials/undoing-changes/git-revert
[9] git clean -n: https://www.atlassian.com/git/tutorials/undoing-changes/git-clean
[10] git commit --amend: https://www.atlassian.com/git/tutorials/rewriting-history#git-commit--amend
[11] git push my_remote --tags: https://www.atlassian.com/git/tutorials/syncing/git-push
[12] команды: https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-config
[13] здесь: https://stackoverflow.com/a/30462883/4590385
[14] «Я — веб-разработчик PRO»: https://iamwebdev.skillbox.ru/?utm_source=skillbox.media&utm_medium=habr.com&utm_campaign=WEBDEVPRO&utm_content=articles&utm_term=gitcommands
[15] «С#-разработчик с 0»: https://skillbox.ru/c-sharp/?utm_source=skillbox.media&utm_medium=habr.com&utm_campaign=CSHDEV&utm_content=articles&utm_term=gitcommands
[16] «PHP-разработчик с 0 до PRO»: https://skillbox.ru/php/?utm_source=skillbox.media&utm_medium=habr.com&utm_campaign=PHPDEV&utm_content=articles&utm_term=gitcommands
[17] Источник: https://habr.com/ru/post/442260/?utm_campaign=442260
Нажмите здесь для печати.