Git fetch не показывает удаленную ветку в for-each-ref - PullRequest
1 голос
/ 20 января 2020

У меня удаленная ветка feature/test2. Я хочу получить это. Я бегу:

git fetch origin feature/test2

И получаю:

From <URL>
 * branch            feature/test2 -> FETCH_HEAD

Но когда я бегу:

 git for-each-ref --format='%(refname:short)' refs/remotes/origin/feature/test2

Я не вижу feature/test2. Только если я запусту get fetch, а затем приведенную выше команду, я увижу feature/test2. Почему это?

1 Ответ

1 голос
/ 20 января 2020

Когда вы выбираете ветку, git обновляет соответствующую ссылку в вашей локальной сети, которую мы называем веткой удаленного отслеживания . Он отражает последнее известное состояние этой удаленной ссылки.

Вы можете видеть эти ветви с git branch -r

Но это не ваши локальные ветви, которые ваши for-each-ref команда запрашивает.

- (Ниже предполагается, что вы используете git версию> 1.8.3) -

Для создания локального аналога к вашему удаленному origin/feature/test2, проверьте его

git checkout feature/test2

и git распознает имя как одно из ваших удаленных отслеживающих веток (так как вы уже получили его ранее) и установите ссылку для push / операции по вытягиванию.

Только на этом этапе он появится в выводе вашей команды for-each-ref.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...