Я случайно обрезал некоторые удаленные ветки, и я действительно не знаю, каковы последствия этого (я нажал кнопку «Удалить удаленные ветки» в Git Extensions, думая, что это удалит удаленную ветку).

В официальной документации сказано: «git-prune - удалить все недостижимые объекты из базы данных объектов». Я не совсем понимаю, что это значит. Я предполагаю, что это могло удалить объединенные ветки, но я не совсем уверен.

Daniel Ball

Ответов: 4

Ответы (4)

«Удаление удаленных ветвей» в Git Extensions выполняет команду git remote prune, которая удаляет ваши локальные ветки удаленного отслеживания, где ветка больше не существует на пульте дистанционного управления.

См. Здесь: https://git-scm.com/docs/git-remote#Documentation/ git-remote.txt-empruneem

Удаляет устаревшие ссылки, связанные с . По умолчанию устаревшие ветки удаленного отслеживания в удаляются, но в зависимости от глобальной конфигурации и конфигурации удаленного мы можем даже удалить локальные теги, которые не были туда помещены. Эквивалентно git fetch --prune , за исключением того, что новые ссылки не будут извлечены.

См. Раздел PRUNING в git-fetch, чтобы узнать, что он будет сокращать в зависимости от конфигурации.

С опцией - пробный прогон укажите, какие ветви будут обрезаны, но не обрезайте их на самом деле.

Важно знать, что prune привязан к репо. Не все знают, что вы можете связать локальное репо с несколькими пультами дистанционного управления. Это пригодится, когда, например, вы работаете с проектом с открытым исходным кодом, и его заставляют работать через форки.

Итак, команда prune требует имени репо. В большинстве случаев это git remote prune origin, но вы можете назвать свое репо как угодно, это не обязательно должно быть origin.

Могут существовать ветки удаленных функций, которые удаляются после того, как мы объединяем их в мастер. Мы могли удалить ветки функций, чтобы очистить. Но если вы проверили удаленную ветку в локальной системе и установили статус отслеживания, git pull не удалит эти локальные ветки (потому что они уже отключены от сервера). Чтобы очистить такие локальные сиротские ветки, вам пригодится команда git prune.

Это просто мусор собирает ваши ветки.

Это означает, что если объект (фиксация) не может быть достигнут ни в одном из предков вашей ветки, он будет удален для базы данных git, и, как таковой, больше не будет доступен.

Это просто немного очистит репозиторий git и сделает его светлее.

2022 WebDevInsider