我在GitHub上拖了一個有幾個福克的項目,但忘記了它是哪個福克。


当前回答

此将打印您的所有远程的Fetch/Push URL:

git remote -v

其他回答

我认为你可以找到它在.git/config 和远程[“起源”] 如果你没有操纵它。

上流的远程可能不会被称为“起源”,所以这里有一个变量:

remote=$(git config --get branch.master.remote)
url=$(git config --get remote.$remote.url)
basename=$(basename "$url" .git)
echo $basename

或:

basename $(git config --get remote.$(git config --get branch.master.remote).url) .git

对于更有用的变量,有:

$ git config -l
alias git-repo="git config --get remote.origin.url | sed -e 's/:/\//g'| sed -e 's/ssh\/\/\///g'| sed -e 's/git@/https:\/\//g'"
alias git-pr="git config --get remote.origin.url | sed -e 's/:/\//g'| sed -e 's/ssh\/\/\///g'| sed -e 's/git@/https:\/\//g' | sed 's/....$//' | sed -ne 's/$/\/pulls &/p'"

在主目录中将此表达式添加到.zshrc 或.bashrc 文件中。

在此之后,您可以使用如

git-repo
git-pr

这只提供URL,这对脚本目的有用:

git config --get remote.origin.url

对于我来说,这就是最简单的方式(少打字):

git remote -v

出口:

origin    https://github.com/torvalds/linux.git (fetch)
origin    https://github.com/torvalds/linux.git (push)

事实上,我把它放在一个名为 s 的 alias 中,它:

git remote -v
git status

您可以添加到您的个人资料:

alias s='git remote -v && git status'