Я пытаюсь создать функцию 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: такого файла нет или каталог
blockquote>Как объединить эти два значения?
Проблема решена:
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;
}