Список всех удаленных веток, которые находятся за мастером
У меня есть мусор ветки функций в центральном хранилище, кроме мастера. Мой мастер в курсе. Теперь я хочу узнать список веток, которые отстают от моей основной ветки. Я знаю, что выбор отдельных веток в github / bitbucket имеет графическое представление. Но здесь у меня есть от 50 до 60 функциональных веток для сравнения. Немногие из них опережают мастера, немногие знакомы с мастером, немногие отстают от мастера. Как я могу прикрепить список филиалов к отдельным файлам?
Примечание: я использую bitbucket
Заранее спасибо.
2 ответа
Немного взлома и поиска в Google (скорее, переполнение стека) и вуаля! - рабочий скрипт bash, который делает именно то, что вы хотите: создает три файла с ветвями каждой категории (позади, в актуальном состоянии или впереди мастера).
NB! Там происходит тяга, так что спрятать свои изменения.
git checkout master
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done #set tracking of all remote branches
git fetch --all # fetch all remote branches to the local repository
git pull --all # update all local branches
for BRANCH in `git branch --list | sed 's/\*//g'`
do
COMMITS_AHEAD_OF_MASTER=`git log master..$BRANCH`
if [ -z "$COMMITS_AHEAD_OF_MASTER" ]
then
COMMITS_BEHIND_MASTER=`git log $BRANCH..master`
if [ -z "$COMMITS_BEHIND_MASTER" ]
then
echo $BRANCH >> up_to_date.txt
else
echo $BRANCH >> behind.txt
fi
else
echo $BRANCH >> ahead.txt
fi
done