Как разработчики ПО, контроль версий играет важную роль в нашей повседневной работе. В этой статье мы обсудим 5 советов и приемов git, которые повысят вашу продуктивность, улучшат рабочий процесс и сделают вас настоящим ниндзя git.
Я могу выполнить сброс к любой предыдущей фиксации, запустив
, но это переопределит мои локальные изменения (изменения, которые я внес в локальные файлы).
Мы можем отменить только последнюю фиксацию без изменения рабочих файлов с помощью следующей команды.
После запуска мы можем запускать наши команды git add и git commit, как обычно.
Как видно из вышеприведенного вывода, мы можем видеть историю коммитов. Но мы также можем сделать более интуитивно понятным данный вывод с помощью следующей команды git:
Теперь это напечатает следующее:
Как вы можете видеть, таким образом мы получаем гораздо больше информации, выводимой в терминал. Также здесь записаны последние изменения в строке с соответствующим коммитом. Просто поставьте флаг -p в конце предыдущей команды.
Упрощенный вариант для удобства и без указания особого формата:
Если вы хотите удалить ветвь без проверки статуса слияния, используйте -D.
Теперь для удаления ветки с удаленного компьютера вы можете выполнить следующее:
Надеюсь, вам понравились эти трюки с git. А какие хаки Вы знаете? Делитесь в комментариях! На сегодня все, удачи!
Источник
1. Удалите все локальные ветки git, но оставьте мастер
Вы часто работаете над разным функционалом в своих проектах, и часто приходится создавать отдельную ветку для работы над какой-нибудь задачей. В какой-то момент у вас будет много болтающихся локальных веток, которые вам не нужны. Как разработчик, я постоянно сталкиваюсь с этой проблемой. Я хочу избавиться от всех веток, кроме master / main . Следующая команда сделает свое дело.
Git:
git branch | grep -v "master" | xargs git branch -D
2. Как отменить последние локальные коммиты в Git?
Это один из наиболее часто задаваемых вопросов о переполнении стека. Допустим, вы совершили что-то по ошибке, и теперь вам нужно это исправить. Вот недавно сделанный мной коммит git, который я хочу отменить.
Git:
git commit -m "this was a mistake"
Я могу выполнить сброс к любой предыдущей фиксации, запустив
Git:
git reset --hard
Мы можем отменить только последнюю фиксацию без изменения рабочих файлов с помощью следующей команды.
Git:
git reset HEAD~
После запуска мы можем запускать наши команды git add и git commit, как обычно.
Git:
git add .
git commit -m "some message"
3. Улучшенная визуализация журнала git в терминале.
Вы наверняка уже использовали команду git log. Она выводит всю историю контроля версий в вашем терминале.
Как видно из вышеприведенного вывода, мы можем видеть историю коммитов. Но мы также можем сделать более интуитивно понятным данный вывод с помощью следующей команды git:
Git:
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
Теперь это напечатает следующее:

Как вы можете видеть, таким образом мы получаем гораздо больше информации, выводимой в терминал. Также здесь записаны последние изменения в строке с соответствующим коммитом. Просто поставьте флаг -p в конце предыдущей команды.
Git:
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -p
Упрощенный вариант для удобства и без указания особого формата:
Git:
git log --all --decorate --oneline --graph
4. Как удалить ветку git локально и удаленно?
Чтобы удалить ветку git локально, мы можем выполнить следующую команду:
Git:
git branch -d <name of your branch>
Если вы хотите удалить ветвь без проверки статуса слияния, используйте -D.
Теперь для удаления ветки с удаленного компьютера вы можете выполнить следующее:
Git:
git push origin --delete <your remote branch name>
5. Как сделать выборку из другого хранилища
Допустим, мы хотим применить некоторые изменения из другого хранилища. Мы можем сделать это, выполнив следующую команду.
Git:
git fetch <remote-git-url> <branch> && git cherry-pick SHA1
Надеюсь, вам понравились эти трюки с git. А какие хаки Вы знаете? Делитесь в комментариях! На сегодня все, удачи!
Источник