Git:对于配置了多个远程的fork,如何查询特定的远程repo

Git:对于配置了多个远程的fork,如何查询特定的远程repo,git,git-remote,git-fork,Git,Git Remote,Git Fork,我想为本地分支检索为上游配置的远程回购 我可以做git remote-v,它提供了来源和上游回购。但我想知道是否有一种方法可以查询特定的远程回购协议,在本例中是上游回购协议 $git remote -v origin git@github.com:origin/practice-repo.git (fetch) origin git@github.com:origin/practice-repo.git (push) upstream git@github.com:remoterepo

我想为本地分支检索为上游配置的远程回购

我可以做git remote-v,它提供了来源和上游回购。但我想知道是否有一种方法可以查询特定的远程回购协议,在本例中是上游回购协议

$git remote -v
origin  git@github.com:origin/practice-repo.git (fetch)
origin  git@github.com:origin/practice-repo.git (push)
upstream    git@github.com:remoterepo/practice-repo.git (fetch)
upstream    git@github.com:remoterepo/practice-repo.git (push)

一种方法是检查特殊的ref
@{u}

# works in bash, for powershell: put quotes around '@{u}'
> git rev-parse --abbrev-ref @{u}   
origin/my/branch
本参考文件的第一部分将指示遥控器


仅提取远程跟踪分支的远程名称的一种更系统的方法:

其中一个本地分支与其远程计数器部件之间的链接存储在repo的
.git/config
文件中:

> cat .git/config
...
[branch "my/branch"]
  remote = origin
  merge = refs/heads/my/branch
...
您可以从命令行访问此信息:

# get current branch's name :
branch=$(git rev-parse --abbrev-ref HEAD)
# get config value :
git config --get branch.$branch.remote

# as a one liner :
git config --get branch.$(git rev-parse --abbrev-ref HEAD).remote

你说的“查询”是什么意思?您可以通过指定特定的远程设备(例如,
git fetch upstream
)来推送、获取(和拉取)到/从特定的远程设备。通过查询,我的意思是我想获得我要查找的特定远程设备的名称。在这种情况下,上游远程服务器需要从您可以执行的名称
git remote get url
获取url。在您的情况下,
git remote get url upstream
。您对我要找的特定远程设备有什么标准吗?