Bash + git: rebase de branches em array/lista bash

$ b=(refactor/issue#543 feature/issue#524 feature/issue#525 feature/issue#526) && for i in "${b[@]}"; do echo $i; git co $i; git rebase origin/master; done && git push origin ${b[@]} -f
  1. b = (...): Array bash com os projetos a serem atualizados;
  2. for i in "#{b[@]}"; do ..; done: Loop para iterar os elementos do array bash;
  3. echo $i: Exibe qual elemento iterado;
  4. git co $i: Ativa o branch iterado;
  5. git rebase origin/master: rebase master do branch ativo;
  6. git push origin ${b[@]} -f: push force aos branches modificados com rebase
Exemplo com branches no workdir:
b=(`git br`) && for i in "${b[@]}"; do echo $i; git co $i; git rebase origin/master; done && git push origin ${b[@]} -f
Neste exemplo, onde todas as issues possuem a palavra "issue":
b=(`for i in $(git br); do echo $i|grep issue; done`) && for i in "${b[@]}"; do echo $i; git co $i; git rebase origin/master; done && git push origin ${b[@]} -f
Neste exemplo, onde todas as issues possuem as palavras "bug|critical|feature|refactor":
b=(`for i in $(git br); do echo $i|egrep 'feature|refactor|bug|critical'; done`) && for i in "${b[@]}"; do echo $i; git co $i; git rebase origin/master; done && git push origin ${b[@]} -f
Releases: 09/12/2019 10.38 15/01/2020 09:56

Comentários