Я случайно обрезал некоторые удаленные ветки, и я действительно не знаю, каковы последствия этого (я нажал кнопку «Удалить удаленные ветки» в Git Extensions, думая, что это удалит удаленную ветку).
В официальной документации говорится: «git-prune - удалить все недоступные объекты из базы данных объектов». Я не совсем понимаю, что это значит. Я предполагаю, что это могло удалить объединенные ветки, но я не совсем уверен.
git
git-extensions
Дэниэл Болл
источник
источник
git gc
: git-scm.com/docs/git-prune .Ответы:
«Удаление удаленных ветвей» в Git Extensions выполняет
git remote prune
команду, которая удаляет локальные ветки удаленного отслеживания, где ветка больше не существует на удаленном компьютере.Смотрите здесь: https://git-scm.com/docs/git-remote#git-remote-empruneem
источник
Это просто мусор собирает ваши ветки.
Это означает, что если объект (фиксация) не может быть достигнут ни в одном из предков вашей ветки, он будет удален для базы данных git, и, как таковой, больше не будет доступен.
Это просто немного очистит репозиторий git и сделает его светлее.
источник
git gc
а не a,git prune
который, по сути, также будет выполнять git prune.git prune
иgit remote prune
. Это не то же самое, последний фактически очищает ветки, которые больше не существуют на удаленном компьютере, оставляя локальные ветки нетронутыми.Важно знать, что чернослив подлежит репо . Не все знают, что вы можете связать локальное репо с несколькими пультами. Это удобно, когда, например, вы работаете с проектом с открытым исходным кодом, и его заставляют работать через форки.
Итак, для команды prune требуется имя репо. В большинстве случаев это так
git remote prune origin
, но вы можете назвать свое репо как угодно, это не обязательноorigin
.источник
Могут быть удаленные ветки функций, которые удаляются после того, как мы объединяем их в мастер. Возможно, мы удалили ветки функций, чтобы очистить. Но если вы проверили удаленную ветку в локальной системе и установили статус отслеживания, git pull не удалит эти локальные ветки (потому что они уже отключены от сервера). Чтобы очистить такие локальные сиротские ветки, вам
git prune
пригодится команда.источник