Получите ответвление мерзавца от нескольких folders/repos

Я не знаю о художественном оформлении окна, но к приложениям положения можно использовать -geometry параметр командной строки, если поддержка приложений это, хотя не все приложения делают. Здесь пример:

xterm -geometry 100x50-0+0  # width x height <location>

Местоположения

+0+0    -  upper left corner
-0+0    -  upper right corner
-0-0    -  lower right corner
+0-0    -  lower left corner
-50+20  -  upper right corner, 20 pixels top distance, 50 pixels right distance

Альтернатива должна использовать Ваш менеджер окон для этого. Можно обратиться к отдельным приложениям, например, их WM_CLASS. Это могло бы также позволить устанавливать подсказки размера или художественное оформление.

5
06.02.2015, 18:58
2 ответа

Попробуйте это. $ 1 Должен быть родительский DIR, содержащий все ваши репозитории (или использование ». Для текущего режима):

#!/bin/bash

function git_branches()
{
    if [[ -z "$1" ]]; then
        echo "Usage: $FUNCNAME <dir>" >&2
        return 1
    fi

    if [[ ! -d "$1" ]]; then
        echo "Invalid dir specified: '${1}'"
        return 1
    fi

    # Subshell so we don't end up in a different dir than where we started.
    (
        cd "$1"
        for sub in *; do
            [[ -d "${sub}/.git" ]] || continue
            echo "$sub [$(cd "$sub"; git  branch | grep '^\*' | cut -d' ' -f2)]"
        done
    )
}

Вы можете сделать это своим сценарием (но заменить $ Funcname С $ 0 ) или сохранить его внутри функции и использовать его в ваших сценариях.

4
27.01.2020, 20:40
for dir in */
  do (cd $dir && echo "$dir [$(git rev-parse --abbrev-ref HEAD)]")
done

или даже как псевдоним

alias brall='for dir in $(ls -d */);do (cd $dir && echo "$dir [$(git rev-parse --abbrev-ref HEAD)]") ; done'

Будет выведено (почти )то, что вы хотите.

project1/ [master]
project2/ [dev]
project3/ [master]
project4/ [master]
0
27.01.2020, 20:40

Теги

Похожие вопросы