Функция Bash для открытия репозитория git с помощью браузера

Я пытаюсь создать функцию bash, чтобы получить ее.

Пользователь через терминал переходит к пути проекта git, например:

/home/daniel/projects/my_super_project

Таким образом, пользователь напечатает open, и браузер откроется на github.com. например:

http://github.com/bla/my_super_project.git

Пока у меня есть этот код:

function teste {
     if [ -d .git ]; then
         remotes=$(git remote -v | awk -F'git@github.com:' '{print $2}' | cut -d" " -f1)
         url="https://github.com/"
         url="$url$($remotes | cut -d" " -f1)"
         # here I'll open the browser
     else
       # git rev-parse --git-dir 2> /dev/null;
       echo "Not a git repo"
     fi;
}

Я проверяю, есть ли папка .git, если да, я ищу удаленный источник и получить его значение, которое находится внутри remote_url. Я пытался объединить https://github.com с remote_url, но безуспешно, потому что терминал считает, что это путь, поэтому я получаю следующее:

bash: bla / my_super_project.git: такого файла нет или каталог

Как объединить эти два значения?

2
задан 21 September 2018 в 15:01

1 ответ

Проблема решена:

function opengit {
    if [ -d .git ]; then
        remotes=$(git remote -v | awk -F'git@github.com:' '{print $2}' | cut -d" " -f1)
        if [ -z "$remotes" ];
        then
            remotes=$(git remote -v | awk -F'https://github.com/' '{print $2}' | cut -d" " -f1)
        fi

        remote_url=$(echo $remotes | cut -d" " -f1)
        url="https://github.com/"
        url="${url}${remote_url}"
        xdg-open $url
    else
      echo "Not a git repo"
    fi;
}
0
ответ дан 21 September 2018 в 15:01

Другие вопросы по тегам:

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