使用浏览器打开 git 存储库的 Bash 函数

使用浏览器打开 git 存储库的 Bash 函数

我正在尝试创建一个 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'[email protected]:' '{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:没有这样的文件或目录

我如何将这两个值连接起来?

答案1

问题解决了:

function opengit {
    if [ -d .git ]; then
        remotes=$(git remote -v | awk -F'[email protected]:' '{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;
}

相关内容