所以,如果..如何在命令行获得github“short”用户名?
$ git config user.name
↳ Alex Gray # OK (my name)
$ git config user.email
↳ [email protected] # 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
↓ [email protected]:mralexgray/MyGitHubRepo.git
↓ [email protected]: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请求等,或其他(通过脚本或终端会话?
如果您的意思只是您自己的帐户名称,而不是根据您使用的克隆而有所不同,那为什么不直接对其进行硬编码呢?这不会改变。如果这是你想从git遥控器中获得的东西,那么git无法知道哪些遥控器是'你的'或'规范'的。为了对github进行API调用,你必须提供用户凭据,所以你可能只需提供自己的用户名,而不用担心这个调用。也许'出口GITHUB_USERNAME ='mralexgray''并完成它?不知何故,我觉得我误解了你的问题。 –
不,你已经知道了,你的解决方案就是我如何管理这个变量。但是我觉得有点奇怪,这个值与“工作流程”是分离的,并且认为必须有一些方法来获得在那个我没有考虑过的地方。 –
奇怪?这对我来说似乎很明智。 git应该跟所有的遥控器一样,就好像它们一样 - 为什么它应该能够计算出你的github帐户名?你可以在'〜/ .ssh/config'的github节中包含你的用户名作为注释并解析出来。至少这是一个合适的地方来记录它? –