Как определить, была ли ветка git получена с удаленного компьютера?

#git

#мерзавец

Вопрос:

Я хотел бы знать, была ли какая-то ветвь git создана локально (и не была перенесена на удаленный сервер) или была извлечена с удаленного и удалена. Каков эффективный способ сделать это (т. Е. Без проверки master )?

Ответ №1:

Используйте команду, указанную ниже, чтобы определить это.

 git branch -a --contains lt;branch-namegt;  

В случае, если ветвь существует и на удаленном компьютере, вы увидите что-то вроде этого

 * master  remotes/origin/HEAD -gt; origin/master  remotes/origin/master  

Или же, если ветвь была создана локально, как тестовая ветвь, результат будет следующим.

 master * test-branch  remotes/origin/HEAD -gt; origin/master  remotes/origin/master  

Чтобы уточнить это дополнительно, ГЛАВА местного филиала не будет указывать на источник/тестовую ветвь.

Комментарии:

1. У меня есть ветвь , которая была fetch отредактирована, но git branch -a показывает отслеживание только для master нее, а не для ветви, которую я явно fetch отредактировал. Есть идеи, что может быть причиной этого?

2. Оказывается, мне пришлось git config --add 'remote.origin.fetch' … это сделать .