Попробуйте очистить проект в разделе «Сборка», если очистка проекта не помогает попытаться аннулировать кэш и перезапустить проект в разделе «Файл».
Я почти уверен, что не существует способа сделать это автоматически. Помните, что «git rebase master» также может вернуть вас обратно в оболочку, требующую разрешения конфликтов слияния, поэтому, если вы хотите написать сценарий для автоматизации всего этого, вам нужно это принять во внимание.
Вы можете довольно легко отслеживать какие ветки нуждаются в обновлении. Хм, для любой ветки «git rev-list branch..master» выдаст вывод, если ветка не обновлена по отношению к master (т.е. просто фиксируется поверх) master. Итак, вам нужно перебрать все локальные головы, кроме master, чтобы создать отчет (nb «git show-branch» примерно так и сделает):
git for-each-ref 'refs/heads/*' | \
while read rev type ref; do
branch=$(expr "$ref" : 'refs/heads/\(.*\)' )
revs=$(git rev-list $rev..master)
if [ -n "$revs" ]; then
echo $branch needs update
git diff --summary --shortstat -M -C -C $rev master
fi
done
Итак, если вы чувствовали себя смелыми, вы могли бы заменить этот «git diff» чем-нибудь например "git checkout $ branch && git rebase master" (или просто "