git: check out as user
wergor 25.03.2020 - 11:25 2168 1
wergor
connoisseur de mimi
|
ich benutze folgendes script, um alle git repos in einem directory zu pullen: find . -mindepth 1 -maxdepth 1 -type d -print -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \;
das funktioniert wunderbar bei repos, die zum pullen keine auth brauchen. unser git server will aber immer credentials sehen - wie mache ich das in dem fall? das skript sollte möglichst ohne anpassung mit neu hinzugefügten oder gelöschten repos umgehen können.
|
COLOSSUS
AdministratorGNUltra
|
Mit einem fuer diesen ausfuehrenden User laufenden ssh-agent(1), der die entsprechend notwendigen Identitaeten/Keys geladen hat. Edith meint noch: Ich hab das in der Arbeit immer so gemacht (per Konvention lebten dort alle repo-clones in ~/codebase/): alias pullall='(cd ~/codebase/ && for i in */; do (test -d "$i/.git" || exit 0; cd "$i" && git pull &>/dev/null || echo "FAILED PULL: $i" >&2) & done; wait; echo DONE)'
Edith meint auszerdem noch: Schau dir den Parameter "-C" zu git an, das koennte dein -exec-Argument vereinfachen helfen
|