Let's suppose that the remote that refers to the remote repository is called origin
. In that case, first update all your remote-tracking branches with:
git fetch origin
Now you can use the useful --contains
option to git branch
to find out which of the remote branches contains that commit:
git branch -r --contains xyz
(The -r
means to only show remote-tracking branches.) If the commit xyz
is contained in one or more of your remote-tracking branches, you'll see output like:
origin/test-suite
origin/HEAD -> origin/master
origin/master
If it's contained in your local repository, but not one of the remote-tracking branches, the output will be empty. However, if that commit isn't known in your repository at all, you'll get the error malformed object name
and a usage message - perhaps a bit confusing if you're not expecting it...
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…