Ответ 1
Предположим, что удаленный, который ссылается на удаленный репозиторий, называется origin
. В этом случае сначала обновите все ветки удаленного отслеживания с помощью
git fetch origin
Теперь вы можете использовать полезную опцию --contains
для git branch
, чтобы узнать, какая из ветвей удаленных содержит эту фиксацию:
git branch -r --contains xyz
(-r
означает показывать только ветки удаленного отслеживания.) Если commit xyz
содержится в одной или нескольких ветвях удаленного отслеживания, вы увидите вывод, например:
origin/test-suite
origin/HEAD -> origin/master
origin/master
Если он содержится в вашем локальном репозитории, но не является одной из ветвей удаленного отслеживания, выход будет пустым. Однако, если это коммитирование вообще неизвестно в вашем репозитории, вы получите сообщение об ошибке malformed object name
и сообщение об использовании - возможно, немного запутанное, если вы этого не ожидаете...