git - 如何通过从终端运行命令来打开指向我的 Github 存储库的链接?

标签 git terminal

我想访问我的存储库的网页:

Github.com/myUsername/myRepoName

在我的终端导航到 myRepoName 目录后,我可以运行命令在我的浏览器中打开该链接吗?

最佳答案

长话短说

这样的功能不是 Git 内置的,但很容易实现为别名或基于脚本的命令。

警告

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

解决方案选项 1:创建别名

这是一个在我的 Windows 版 Git ~/.gitconfig 中工作的别名,假设我的 Remote 使用 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 放入一个存储库并键入 git browse-remote 以在 Chrome 中启动远程。

如果你想使用这个想法,你必须正确设置浏览器路径,并确保提取 URL 的部分在你的机器上正常工作。

方案二:编写脚本

我刚刚编写了一个带有错误检查功能的脚本,效果更好。在 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) 链接),或者如果您不在存储库中或远程 URL 发出错误消息不是 http(s)。

哎呀,我非常喜欢这个解决方案,我只是在自己的机器上安装了它。好主意,感谢您提出问题!

SSH URL 怎么样?

如果您使用基于 ssh 的远程 URL,例如 git@github.com:user/repo.git,我会采用解决方案 2 并向脚本添加一些 URL 转换逻辑。

关于git - 如何通过从终端运行命令来打开指向我的 Github 存储库的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69229364/

相关文章:

git - 如何避免在 Codemagic 中从 git 触发构建

linux - 使用 Windows 开发/使用 Unix 托管时的文件权限问题

git - 使用预提交 Hook 在提交前修改文件

python - 从 python 获取命令的终端输出

macos - 从终端删除 Safari cookie

iphone - Mac 中 iPod/iPhone 的安装点在哪里?

GIT撤消分支-D

git - 从 git 中清除多余的分支

Linux 终端 : typing feedback gone, 换行符未显示

ios - 使用 PlistBuddy 获取应用程序版本返回 "CFBundleShortVersionString does not exist"