【问题标题】:How do I open the link to my Github repo by running a command from the terminal?如何通过从终端运行命令打开指向我的 Github 存储库的链接?
【发布时间】:2021-11-12 16:22:44
【问题描述】:

我想访问我的回购网页:

Github.com/myUsername/myRepoName

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

【问题讨论】:

  • 你运行的是什么操作系统?
  • 我在 MacOS 上——但 Windows 和/或 Linux 用户可能也想知道这个问题的答案。 :)

标签: git terminal


【解决方案1】:

TL;DR

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

警告

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

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

这是一个适用于我的 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 的部分在你的机器上正常工作。

方案二:编写脚本

我刚刚编写了一个带有一些错误检查功能的脚本,效果更好。在 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,我会采用解决方案 2 并在脚本中添加一些 URL 转换逻辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 2013-04-14
    • 2015-06-23
    • 2021-12-09
    • 1970-01-01
    • 2013-09-08
    • 2021-11-27
    相关资源
    最近更新 更多