Как показать связи между локальными и удаленными филиалами в 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 4

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>