Если мы удалим ветку на сервере, можем ли мы автоматически удалить ее в нашей локальной копии?
Обычно, когда я отправляю Pull Requests на github, я создавал ветку, вносил свои изменения, а затем просил их объединить эту ветку с репо.
Как только это будет сделано, на Github я удаляю ветку (но github просто скрывает). Затем я навсегда удаляю ветку на сайте Github.
Теперь, когда удаленная ветвь исчезла, как я могу синхронизировать локальное репо с удаленным? Я попытался извлечь и вытащить, но это не удаляет ветви в моем локальном репо.
Придется ли мне вручную удалять их из репо, или есть какой-то способ синхронизировать их?
2 ответа
Вы можете попробовать:
git remote prune origin
(при условии, что удаленное 'origin' ссылается на ваш репозиторий GitHub)
Это объясняется в разделе " Очистка старых удаленных веток git " (git branch -d localbranch
)
Я не знаю нативной команды git, которая бы выполняла оба.
Только скрипт вроде git_remote_branch
"удалит ветку как на GitHub, так и локально
удалить (псевдонимы: уничтожить, убить, удалить, RM)
Удалите удаленную ветку, затем удалите локальную ветку.
Локальная ветка не удаляется, если есть ожидающие изменения.
$ grb delete branch_name [origin_server]
Другой вариант очистки (на вашем локальном) удаленных веток на сервере может быть
git fetch –p
Надеюсь это поможет.