2015-10-05 10 views
8

So che posso dire Git per mostrare i progressi comeGit: spettacolo progresso per il recupero modulo

Resolving deltas: 98% (123/125) 

quando passa il parametro di riga di comando --progress per, ad esempio, il comando di recupero. Ma abbiamo un paio di grandi sottomoduli e non viene mostrato alcun progresso. Come dire a Git di mostrare anche i progressi per i sottomoduli di clonazione (ad esempio come parte del comando fetch)?

risposta

1

Il più vicino mi è venuto è stato quello di utilizzare questo comando:

git fetch --recurse-submodules=yes --jobs=10 

Questo non ti dà una barra di avanzamento. Ma accelera il recupero dei repository. Questo mi ha aiutato molto su un progetto di microservizi con circa 30 sottomoduli.

Naturalmente, è possibile combinare questo con altri comandi in seguito, ad esempio, aggiornare tutti i repository senza i potenziali conflitti:

# run all subprojects updates: Pull on currently selected branches 

#git submodule foreach 'git rebase origin/master; true' 
git submodule foreach ' 
    export BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) 
    git status -bs 
    if [[ "master" == $BRANCH_NAME ]] 
    then 
    git merge FETCH_HEAD --ff-only 
    else 
    echo \"NOTE this branch is $BRANCH_NAME. You must merge/rebase yourself!\" 
    fi 
' 
Problemi correlati