如何遍历我的所有 Git 存储库并更新它们?

dim*_*uel 6 git bash

我有一个文件夹,用于保存我所有的 Git 存储库。我通常只是git pull为了得到我的更改,但是现在我有超过 50 个存储库,必须为每个文件夹执行此操作成为一种负担。

如何运行一个命令来遍历每个 repo 并为我更新它?

dim*_*uel 9

在 Bash 中,您可以运行此命令,该命令将遍历您工作目录中的每个 repo,存储您的更改,获取源并拉取最新提交。

for d in */; do cd $d; git stash; (git pull &); cd ..; done
Run Code Online (Sandbox Code Playgroud)

一些注意事项:

  • 这将在您的回购中使用您的工作分支
  • (git pull &) 打开一个子shell并在后台执行

  • 根据`man git-pull`:_在其默认模式下,`git pull` 是`git fetch` 后跟`git merge FETCH_HEAD`_ 的简写。 (2认同)