GIT

Получить корень репозитория

Для скриптов порой необходимо получить корневую папку. Делается это командой:

git rev-parse --show-toplevel

Получить список измененных файлов от места ответвления от мастера

git diff $(git merge-base --fork-point master $(git branch --show-current)) --name-only

Запушить без CI

git push --push-option=ci.skip

удалить вмерженные ветки в удаленном репозитории


git branch -r --merged | grep -v $(git branch --show-current)|sed -r 's|origin/||' |xargs -n1 git push origin --delete

Показать старые ветки

git branch -r |
 grep -vE "origin/master|$(git branch --show-current)" |
 while read branch;
   do [ -z "$(git log -1 --since='6 mounth ago' -s $branch)" ] && echo $branch;
 done

Склонировать всю группу реп из Gitlab

$env:GITLAB_URI="https://gitlab.example.com"
$env:https_proxy="http://someproxy.org.local:8088"
glab repo clone -g gitlab_group_name -p --paginate .

Команда создаст папку по имени группы (gitlab_group_name в примере) и разложит репы деревом, как они в Gitlab. Glab доступен для установки через Chocolatey и WinGet.