所以,如果..如何在命令行獲得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節中包含你的用戶名作爲註釋並解析出來。至少這是一個合適的地方來記錄它? –