Мерзавец: Как повторно основывать много ответвлений (с той же основной фиксацией) сразу?

Попробуйте очистить проект в разделе «Сборка», если очистка проекта не помогает попытаться аннулировать кэш и перезапустить проект в разделе «Файл».

57
задан malvim 14 May 2009 в 22:36
поделиться

1 ответ

Я почти уверен, что не существует способа сделать это автоматически. Помните, что «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" (или просто "

19
ответ дан 26 November 2019 в 16:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: