На самом деле это два отдельных вопроса, но я постараюсь ответить на оба. Во-первых, когда вы удаляете ветку в интерфейсе GitHub (или используя GitHub API), она делает эквивалент git branch -D
. Тем не менее, он не использует эту конкретную команду для этого; большинство хостинг-провайдеров используют libgit2 для взаимодействия с репо.
Причина, по которой вы видите удаленную ветвь на вашем компьютере, заключается в том, что команда git fetch
не удаляет удаленные ветви отслеживания, если вы не используете --prune
. Если вы используете git fetch --prune origin
, то удаленные ветви будут удалены.