🦾 Продвинутый Git
Всегда относился к Git как к чему-то простому и понятному. Но недавно посмотрел доклад одного из основателей GitHub, Скотта Чакона. Открыл для себя пару интерсных команд.
Этот пост - в первую очередь шпаргалка для меня самого, но я решил поделиться с вами, возможно кому-то тоже будет полезно.😇
Полезные команды
Сделать свой алиас
$ git config --global alias.staash ‘stash --all’
$ git staash
Запустить свой скрипт
$ git config --global alias.bb !better-branch.sh
$ git bb
Blame файла от и до определенной строки
$ git blame -L 15,26 path/to/file
История кода от и до определенной строки
$ git log -L 15,26:path/to/file
История функции или класса
$ git log -L :MyController:path/to/file
Игнорировать пустые строки
$ git blame -w
Игнорировать движение функции внутри одного коммита (перенесли код с одного класса в другой).
$ git blame -C
Более агрессивное определение движения кода
$ git blame -C -С
$ git blame -C -С -С
Отфильтровать git log по регулярному выражению. Например все, что содержит определенную строку
$ git log -S MyController -p
Показать разницу в словах, вместо строк
$ git diff --word-diff
Reuse Record Resolution - git запоминает как вы решили merge conflict и если он повторится, то git автоматически решит его также.
$ git config --global rerere.enabled true
Показать ветки в виде колонок
$ git branch --column
$ git config --global column.ui auto
Сортировать ветки по дате последнего коммита
$ git config --global branch.sort -committerdate
Безопасный форс пуш (compare and set)
$ git push --force-with-lease
Запускает задачу на заднем фоне, которая автоматически оптимизирует репозиторий
$ git maintenance start
Ускорить git status, checkout только определенные директории
$ git sparse-checkout set folderA folderB
✔️ Сохрани, чтобы потом попробовать на досуге
➡️Ссылка на доклад
https://blog.gitbutler.com/git-tips-and-tricks/
Post #340
1.69K
- 👍 27
- 🤷♂ 3
- ❤ 2
- 🔥 2
- 👨💻 1