如何在命令行获取 github "short"用户名?



所以如果..

$ git config user.name
↳ Alex Gray              # OK (my name)
$ git config user.email
↳ alex@mrgray.com        # OK (my email).

和。。

GithubUserForProject() {  # in pwd
    ORIGIN=$(git config --get remote.origin.url) && echo $ORIGIN
    OWNER=${ORIGIN%/*}     && echo $OWNER  # trim URL tail
    OWNER=${OWNER#*.com/}  && echo $OWNER  # trim URL head
    OWNER=${OWNER#*:}      && echo $OWNER  # trim ssh URL head
}
$ cd /local/git/MyGitHubRepo && GithubUserForProject
↓ git@github.com:mralexgray/MyGitHubRepo.git
↓ git@github.com:mralexgray
↳ mralexgray            # OK (my username, but skanky way of finding it) 

但。。。

$ cd /local/git/SomeGuysProject && GithubUserForProject
↓ git://github.com/someguy/SomeGuysProject.git
↓ git://github.com/someguy
↳ someguy              # WRONG! (cloned repo's user!)

那么,我如何以编程方式确定我的 github "短用户名",无论是从env、github API 请求等,还是通过脚本或终端会话?

我认为这样一个愚蠢的问题如此明显地没有解决......因此,由于不知道如何在 bash 中巧妙地解析字符串而不求助于我熟记SED的组合,并且......

security find-internet-password -s github.com | grep acct | sed 's/"acct"<blob>="//g' | sed 's/"//g'

瞧....

mralexgray

这可能取决于安装了 Github mac 客户端...又一次...未必。

我同意评论者的观点:Bash 怎么会知道你的用户名,除非你告诉它?

您可以使用git push进行测试以了解它是否是"您的"存储库,但如果SSH密钥设置不正确,即使这样也会失败。简而言之,您应该将其设置为~/.bash_profile或其他东西并完成它。

相关内容

  • 没有找到相关文章

最新更新