Как показать связи между локальными и удаленными филиалами в git?
Я хотел бы добавить копию удаленной ветви (origin/featureX
) в мой локальный репозиторий.
Поэтому я сгенерировал локальную ветвь featureX
и установил ее для отслеживания данной удаленной ветви:
git branch featureX
git branch -u origin/featureX featureX
# Branch featureX set up to track remote branch featureX from origin.
Есть ли способ показать эту связь? Я попробовал, например, git branch -av
, но никакой связи между featureX
и remotes/origin/featureX
не показано.3 ответа:
Вам нужно быть более подробным
git branch -vv
, это документировано, но не очевидно.- v
- vv
-- многословный
Когда вы находитесь в режиме списка, покажите sha1 и commit subject line для каждой головки, а также связь с восходящей ветвью (если таковая имеется). если задано дважды, выведите имя восходящей ветви, а также (см. Также git remote show ).
Чтобы легко увидеть связь, дважды выберите опцию
-v
:$ git branch -v * master b9a3e01 [ahead 3] $ git branch -vv * master b9a3e01 [origin/master: ahead 3]
Смотрите ответ VonC для более удобного способа начать эти вещи, в большинстве случаев.
Вместо
git branch
, попробуйтеgit checkout featureX
.
Поскольку существует ветвьorigin/featureX
, эта локальная ветвь будет автоматически связана с удаленной ветвью отслеживания.Сначала удалите свою ветвь и создайте ее заново:
git branch -d featureX git checkout featureX
От
git checkout
:Если
<branch>
не найден, но существует ветвь отслеживания ровно в одном удаленном (назовите ее<remote>
) с соответствующим именем, считайте, что она эквивалентна$ git checkout -b <branch> --track <remote>/<branch>