如何通过在终端中运行命令打开我的 Github 存储库链接?

3
我想访问我的存储库网页:
Github.com/myUsername/myRepoName 在终端中导航到myRepoName目录后,我能否运行一个命令在浏览器中打开该链接?

1
你正在使用哪个操作系统? - choroba
我正在使用MacOS - 但是Windows和/或Linux用户可能也想知道这个问题的答案。 :) - Zernach
2个回答

2

TL;DR

Git没有内置此功能,但很容易实现为别名或基于脚本的命令。

Caveat

您的操作系统和使用的Git发行版以及在存储库中使用的URL类型将影响您问题的确切答案,但是我下面的两个解决方案中至少有一个应该很容易适应大多数系统。

Solution option 1: create an alias

这是一个别名,在我的Git for Windows ~/.gitconfig 中适用于https URL,没有错误检查:

[alias]
    browse-remote = !/c/Program\\ Files\\ \\(x86\\)/Google/Chrome/Application/chrome.exe $(git remote show origin | grep Fetch.URL | sed 's/.*http/http/')

在Git Bash中,我会CD到一个repo并输入git browse-remote来在Chrome中启动远程。如果您想使用这个想法,您需要正确设置浏览器路径,并确保提取URL的部分在您的计算机上正常工作。
解决方案选项2:编写脚本。我刚刚写了一个带有一些错误检查的脚本,它可以更好地工作。在Windows的Git Bash上测试过,但应该很容易适应Linux或Mac。将此文件命名为git-browse-remote
#!/bin/bash

# Set this to your browser
BROWSER='/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'

set -o pipefail
if URL=$(git remote show origin | grep Fetch.URL | sed 's/.*http/http/'); then
   "$BROWSER" "$URL"
else
   echo git-browse-remote: Could not extract repo URL from the output of \"git remote show origin\"
   exit 1
fi

运行chmod +x git-browse-remote并将文件放在您的PATH某个位置。
然后输入git browse-remote,如果它是一个http(s)链接,则会在浏览器中打开远程连接;如果您不在repo内或者远程URL不是http(s)链接,则会显示错误消息。
我喜欢这个解决方案,我已经在自己的机器上安装了它。真是个好主意,谢谢你的提问!
那么SSH URL呢?
如果您正在使用基于ssh的远程URL,例如git@github.com:user/repo.git,我建议采用第二种解决方案,并向脚本添加一些URL转换逻辑。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接