Эта проблема не решена (пока), по крайней мере, нелегко / без сценариев: см. Этот пост в списке рассылки git от Junio C Hamano, объясняющий ситуацию и обеспечивающий простое решение.
Основная причина в том, что вам не нужно это:
С git, который не является древним (т.е. v1.5.0 или новее), нет никакой причины иметь локальный «dev», который больше просто отслеживает удаленный. Если вы хотите только посмотреть и посмотреть, вы можете проверить ветку удаленного отслеживания непосредственно на отдельном HEAD с помощью " git checkout origin/dev".
Это означает, что единственные случаи, когда нам нужно, чтобы пользователям было удобно, - это обрабатывать локальные ветви, которые «отслеживают» удаленные, когда у вас есть локальные изменения или когда вы планируете их иметь.
Если у вас есть локальные изменения в «dev», помеченные для отслеживания удаления «dev», и если вы находитесь на ветке, отличной от «dev», то мы не должны ничего делать после « git fetch» обновления удаленного отслеживания «dev» , В любом случае он не будет двигаться вперед
Призыв к решению был для опции или внешнего сценария, чтобы обрезать локальные ветви, которые теперь следуют за удаленными отслеживающими ветвями, вместо того, чтобы поддерживать их в актуальном состоянии с помощью быстрой пересылки, как запрошенный оригинальный плакат.
Так как насчет " git branch --prune --remote=<upstream>", который перебирает локальные ветви, и если
(1) это не текущая ветка; и
(2) он отмечен для отслеживания некоторой ветви, взятой из <upstream>; и
(3) он не имеет никаких коммитов сам по себе;
затем удалить эту ветку? " git remote --prune-local-forks <upstream>" тоже хорошо; Мне все равно, какая команда реализует эту функцию так много.
Примечание: с git 2.10 такого решения не существует. Обратите внимание, чтоgit remote pruneподкоманда иgit fetch --pruneкасается удаления ветви удаленного отслеживания для ветви, которая больше не существует на удаленной, а не удаления локальной ветви, которая отслеживает ветку удаленного отслеживания (для которой ветвь удаленного отслеживания является восходящей веткой).