所以如果......
$ 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请求等,或其他(通过脚本或终端会话?
答案 0 :(得分:1)
我觉得愚蠢这样一个无聊的问题如此明显地未解决...所以因为不知道如何巧妙地解析bash中的字符串而不诉诸SED
组合我心里明白,......
security find-internet-password -s github.com | grep acct | sed 's/"acct"<blob>="//g' | sed 's/"//g'
étvoila....
mralexgray
这可能取决于安装Github mac客户端......再次...... 它可能不会。
答案 1 :(得分:0)
我会同意评论者的意见...... Bash如何知道你的用户名,除非你告诉它?
您可以使用git push
进行测试以了解它是否是“您的”回购,但如果您的SSH密钥设置不正确,即使这样也会失败。简而言之,您只需将其设置为~/.bash_profile
或其他内容即可完成。