git-clean: Remove all local branches

Made a note about it 4 years ago, but it looks like the note is still pretty usefull. So one more time for en readers.

To remove all merged branches(except current -v ‘*’):

git branch --merged | grep -v '*' | xargs git branch -D

also I made such command for repo complete clean up:

alias git-clean="git branch  | grep -v '*' | grep -v 'master' | xargs git branch -D  && git reset --hard && git clean -d -x -f"

Git pre-push hook

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

Continue reading

Правим последний коммит в git c помощью –amend

Забыли что-то внести в коммит?  – не беда! Просто поправим последний коммит с помощью amend:

сначала добавляем, то что забыли:

git add .

потом вносим правку:

git commit --amend

так же можно дописать комментарий:

git commit --amend -m 'really serious changes'

 

* для git-гуру понятно дело ничего нового нет

 

Удалить все локальные ветки git

Команда для того чтобы удалить все смерженые(–merged) ветки за исключением текущей(-v ‘*’):

git branch --merged | grep -v '*' | xargs git branch -D

еще для себя я сделал такую алиас-команду для полной зачистки репозитория от изменений и старых веток:

alias git-clean="git branch  | grep -v '*' | grep -v 'develop' | xargs git branch -D  && git reset --hard && git clean -d -x -f"

критика приветствуется.

git hook: Не пускаем в репозиторий ошибки

Настраивая систему разворачивания проекта с репозитория, мы задумались над вопросом чистоты кода репозитория, ибо тесты на самом сервере – это хорошо, но в системе контроля версий также совсем не помешает держать рабочий код, особенно в “стабильной” ветке.

Как вариант решения:  сделать git-hook, который бы проверял каждый push на репозиторий и не давал заливать “плохой” код. (Под “плохой” мы будем понимать код, который не прошел юнит-тестов либо валидации JSHint)

Continue reading