Как упоминалось в @Eskapp, вы можете перечислить ветви слияний и затем удалить их:
git branch -d branch1 branch2 branch3 ... # For local branches
git push origin :branch1 :branch2 :branch3 ... # for the remote ones, note the ":" before the branch names used to delete them, cf "man git-push"
Затем все остальное придется делать вручную с помощью набора команд.Я бы сделал следующее:
git log --oneline | grep branchname
, чтобы найти коммиты слияния (сообщения, похожие на «Merge branchName to master», если некоторые ветки были перебазированы. Убедитесь, что все коммиты доступны для поиска вmaster (на основе их сообщений) - Проверка оставшихся запросов на получение и перекрестная ссылка со списком ветвей, чтобы увидеть, какие из них связаны с запросами на получение (выполняется вручную или с помощью github api)
- Кроме того, если вы используете систему продажи билетов и если в ваших филиалах указан номер заявки, посмотрите билеты, если билеты закрыты, возможно, ветки можно будет удалить.
В целом, это может быть много ручной работы, в зависимости от того, какие из них выйдут из первой проверки, но это того стоит. И это позволит вам продолжить чистое состояние в будущем, чтобы удалитьветви по мере их слияния.