Відповіді:
Щоб оновити локальний список віддалених відділень:
git remote update origin --prune
Показати всі локальні та віддалені гілки, про які (місцевий) Git знає
git branch -a
git remote update origin --prune
це те, що я шукав thx
git remote update
, та прийнятою відповіддю, яку використовує git fetch
, дивіться тут
git fetch
не видалив мій локальний кеш віддалених гілок. Тільки --prune
вдалося все це почистити.
git config remote.origin.prune true
git remote prune origin
має той же ефект, і ви набираєте менше.
Я вірю, що якщо ти біжиш git branch --all
з Bash, то список віддалених та локальних гілок, який ви бачите, відображатиме те, про що знає ваш місцевий Git під час виконання команди. Оскільки ваш Git завжди в курсі місцевих гілок у вашій системі, список місцевих гілок завжди буде точним.
Однак для віддалених відділень це не обов'язково. Ваш місцевий Git знає лише про віддалені гілки, які він бачив за останній збір (або потяг). Тож можливо, ви можете запустити git branch --all
і не побачити нову віддалену гілку, яка з’явилася після останнього разу, коли ви виймали або витягували.
Щоб переконатися, що ваш локальний та віддалений список філій, ви можете зробити git fetch
перед запуском git branch --all
.
Для отримання додаткової інформації "віддалені" гілки, які з'являються при запуску git branch --all
, зовсім не є віддаленими; вони насправді місцеві. Наприклад, припустимо, що на пульті є гілка, feature
яку ви принаймні один раз потягнули у свій локальний Git. Ви побачите, origin/feature
як зазначено, як галузь під час запуску git branch --all
. Але ця філія - це фактично місцева гітля Git. Після цього git fetch origin
ця гілка відстеження оновлюється будь-якими новими змінами віддалено. Ось чому ваша місцева держава може стати несвіжими, оскільки можуть з’явитися нові віддалені гілки, або ваші гілки відстеження можуть стати несвіжими.
git fetch
зробив це.
git fetch
не працює для мене, потрібно додати --prune
. Btw, я не знижуюся;)
git fetch
не видаляє видалені віддалені гілки. Мабуть, тому деякі люди прихильнилися
ОП не просив очищення для всіх віддалених, скоріше для всіх гілок віддаленого за замовчуванням.
Отже git fetch --prune
, що слід використовувати.
Налаштування git config remote.origin.prune true
робить --prune
автоматичним. У цьому випадку якраз git fetch
також буде обрізати застарілі віддалені гілки з локальної копії. Дивіться також Автоматичне чорнослив за допомогою Git fetch або pull .
Зауважте, що це не прибирає локальні гілки, які вже не відстежують віддалену гілку. Подивитися Як обрізати локальні гілки відстеження, які вже не існують на віддаленому для цього.
git fetch -p
Використовуйте git fetch
для отримання всіх останніх створених гілок.
git fetch
нічого не змінив для мене з git 2.17.1. Яку версію та параметри ви використовували?
--prune
або git config remote.NAME.prune true
для того, щоб вирішити питання щодо ОП
Якщо ви використовуєте Eclipse і хочете бачити нові гілки з висхідного потоку;
У перспективі Git клацніть правою кнопкою миші на сховищі Git, а потім виберіть "Вилучити з висхідного потоку". Це отримує нові віддалені гілки.
Якщо ви використовуєте Eclipse,
Усі вони повинні бути там. Клацніть правою кнопкою миші та "замовлення".
git ls-remote
може бути цікаво.